QuerryRunner数据查询的几种操作

1.ArrayHandler:将结果集的第一行存储到对象数组中 Object[]

QueryRunner qr= new QuerryRunner();
String sql = "select * from 表名";
Object[] result = qr.query(con,sql,new ArrayHandler);
for(Object obj:result){
System.out.println(obj);
}

2.ArrayListHandler:将结果集的每一行,封装到对象数组中,出现很多对象数组

对象数组存储到List集合

QueryRunner qr = new QueryRunner();
String sql = "select * from 表名";
List<Objec[]> list = qr.query(con,sql,new ArrayListHandler);
for(Object[] a:list){
for(Object obj:a){
Sytem.out.println(obj);
}
}

3.BeanHandler:将结果集的第一行数据封装成javaBean对象

原理:BeanHandler结果集,数据表第一行,封装到JavaBean对象中,结果集第一行封装成数据表类的对象

QueryRunner qr= new QueryRunner();
String sql = "select * from 表名";
Sort s = qr.query(con,sql,new BeanHandler<表的类名>(表的类名.clas));

4.BeanListHandler:将数据集的每一行数据,封装成JavaBean对象

多个JavaBean对象封装到List集合中

List<Object> list  =qr.query(con,sql,new BeanListHandler<Object>('列名'));
for(Object obj:list){
System.ou.println(obj);
}

5.ColumnListHandler:结果集,指定列的数据,存储到List集合

调用方法Query,传递结果集实现类ColumnListHandler,实现类构造方法中,使用列名

List<Object> lsit = qr.query(con,sql,new ColumnListHandler<Object>('列名'));
for(Object obj:list){
System.out.println(obj);
}

6.ScalarHandler:对于查询后,只有一个结果

String sql = "select count(*) from 表名";
long count = qr.query(con,sql,new ScalarHandler<Long>());
System.out.println(count);

7.MapHandler:将结果集第一行数据,封装到Map集合中

Map<键,值>;其中键是列名,值:这列是的数据;返回集:map集合,Map接口实现类,泛型

Map<String,Object>= qr.query(con,sql,new MapHandler());
for(String key:map.kepSet()){
 System.out.println(key+map.get(key));
}

8.MapListHandler:将结果集每一行存储到map集合,键:列名,值:数据

map集合过多,存储到List集合

调用方法query,传递结果集实现类MapListHandler

List<Map<String,Objec>map:list>=qr.query(con,sql,new MapListHandler);
for(Map<String,Object> map:list){
for(String key:map.keySet()){
 System.out.println(key+map.get(key));
}
}

猜你喜欢

转载自blog.csdn.net/qq_34857390/article/details/83316950