QueryRunner的query方法,查询中的con和sql都好理解,handler是什么东西呢
ResultSetHandler handler = new ArrayHandler();
Object obj = qr.query(con, sql, handler);
Object[] arr = (Object[])obj;
ResultSetHandler handler = new ArrayListHandler();
Object obj = qr.query(con, sql, handler);
List list = (List)obj;
它代表着ResultSet结果集到query方法返回类型之间的转换
AbstractListHandler – 返回多行List的抽象类
ArrayHandler – 返回一行的Object[]
ArrayListHandler – 返回List,每行是Object[]
BeanHandler – 返回第一个Bean对象
BeanListHandler – 返回List,每行是Bean
ColumnListHandler – 返回一列的List
KeyedHandler – 返回Map,具体见代码
MapHandler – 返回单个Map
MapListHandler – 返回List,每行是Map
ScalarHandler – 返回列的头一个值
在将查询结果转换成JavaBean的时候,JavaBean的属性和字段之间必须要一致,这里才能正确的将ResultSet和JavaBean做转换