@Test
public void testResultSetHandler() {
// 1.创建QueryRunner的实例
QueryRunner qr = new QueryRunner();
Connection conn = null;
try {
// 2.获取连接
conn = JDBCTools.getConnection();
class MyResultSetHandler implements ResultSetHandler{
@Override
public Object handle(ResultSet rs) throws SQLException {
Student stu = new Student();
if (rs.next()) {
stu.setId(rs.getInt(1));
stu.setSname(rs.getString(2));
stu.setSex(rs.getString(3));
stu.setMajor(rs.getString(4));
stu.setClasses(rs.getString(5));
}
return stu;
}
}
String sql = “select sno,sname,sex,major,classes from t_stu where sno =?”;
// 3、使用query方法
// QueryRunner 的 query 方法的返回值取决于其 ResultSetHandler 参数的handle 方法的返回值
Object obj = qr.query(conn, sql, new MyResultSetHandler(),1);
System.out.println(obj);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCTools.free(null, null, conn);
}
}