package com.rubiconproject.oss.kv.backends.sql;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import com.rubiconproject.oss.kv.transcoder.Transcoder;
public interface JdbcDAO {
public PreparedStatement prepareExists(Connection conn, String key)
throws SQLException;
public PreparedStatement prepareSelect(Connection conn, String key)
throws SQLException;
public PreparedStatement prepareBulkSelect(Connection conn, String... keys)
throws SQLException;
public PreparedStatement prepareBulkSelect(Connection conn,
List<String> keys) throws SQLException;
public PreparedStatement prepareInsert(Connection conn, String key,
Object value, Transcoder transcoder) throws SQLException,
IOException;
public PreparedStatement prepareDelete(Connection conn, String key)
throws SQLException, IOException;
public PreparedStatement prepareCount(Connection conn) throws SQLException;
public PreparedStatement prepareIterator(Connection conn)
throws SQLException;
public KeyValuePair read(ResultSet rs, Transcoder transcoder)
throws SQLException, IOException;
}