package org.prevayler.demos.scalability.jdbc; import org.prevayler.demos.scalability.*; import java.sql.*; import java.util.*; class JDBCQueryConnection extends JDBCScalabilityConnection implements QueryConnection { private final PreparedStatement selectStatement; JDBCQueryConnection( Connection connection){ super(connection); selectStatement=prepare("select ID,STRING1,BIGDECIMAL1,BIGDECIMAL2,DATE1,DATE2 from " + table() + " where NAME=?"); } protected String table(){ return "QUERY_TEST"; } public List queryByName( String name){ ArrayList list=new ArrayList(); try { selectStatement.setString(1,name); ResultSet resultSet=selectStatement.executeQuery(); while (resultSet.next()) { list.add(new Record(resultSet.getLong(1),name,resultSet.getString(2),resultSet.getBigDecimal(3),resultSet.getBigDecimal(4),resultSet.getDate(5),resultSet.getDate(6))); } } catch ( SQLException sqlex) { dealWithSQLException(sqlex,"selecting record from " + table()); } return list; } }