QueryRunner中query方法

首先展示我所使用的school表
在这里插入图片描述

1.MapHandler时返回值是单个Map

		QueryRunner queryRunner = new QueryRunner(CF.getDs());
        //2.编写sql    这个SQL没有条件,所以下面的query中不需要传参数
        String sql = "Select * from student";
        //3.执行SQL,  第二个参数 结果返回类型(MapHandler -- 返回单个Map)
        Map<String,Object> map = queryRunner.query(sql,new MapHandler());
		
		sout:{id=1, name=zhangsan, birth=2022-02-14T15:04:43, age=23, email=418324161@qq.com, schid=1}

2.MapListHandler将每一行数据都封装到一个map里然后再封装到list里

		String sql = "Select * from school";

        List<Map<String,Object>> list = queryRunner.query(sql, new MapListHandler());

        for (Map<String,Object> map :list){
            for (Iterator car = map.keySet().iterator(); car.hasNext();) {
                Object key = car.next();
                Object val = map.get(key);
                System.out.println("key:"+key);
                System.out.println("value:"+val);
            }
        }
sout:
key:id
value:1
key:name
value:暨南大学
key:phone
value:15835647896
key:proid
value:1
key:cityid
value:5
key:areaid
value:10
key:info
value:趵突泉北路


key:id
value:2
key:name
value:山东大学
key:phone
value:15835647896
key:proid
value:1
key:cityid
value:4
key:areaid
value:7
key:info
value:蓝石大厦

或者:for (Map<String,Object> map :list){
            System.out.println(map);
        }
sout:
{id=1, name=暨南大学, phone=15835647896, proid=1, cityid=5, areaid=10, info=趵突泉北路}
{id=2, name=山东大学, phone=15835647896, proid=1, cityid=4, areaid=7, info=蓝石大厦}
{id=3, name=山东师范大学, phone=15835647896, proid=1, cityid=4, areaid=8, info=经十路}
{id=4, name=北京大学, phone=18263366070, proid=1, cityid=4, areaid=7, info=北京路}
{id=5, name=北京师范大学, phone=15835891461, proid=1, cityid=4, areaid=8, info=烟台路18}
3.ArrayHandler 的返回值是一行的Object【】
		String sql = "Select * from student";
        List<Object> list = Arrays.asList(queryRunner.query(sql, new ArrayHandler()));
sout:[1, zhangsan, 2022-02-14T15:04:43, 23, 418324161@qq.com, 1]
4.ArrayListHandler 把结果集中每一行数据都转化成一个对象数组 每一行都是Object【】通过遍历这个集合再遍历数组可以把每一个信息都得到
		String sql = "Select * from school";
        List<Object[]> list = queryRunner.query(sql, new ArrayListHandler());
        for (Object[] l :list){
            for(Object o :l){
                System.out.println(o);
            }
        }
sout:
id:1
name:暨南大学
phone:15835647896
proid:1
cityid:5
areaid:10
info:趵突泉北路
2
山东大学
15835647896
1
4
7
蓝石大厦
5.BeanHandler将结果集中第一行数据封装到一个JavaBean实例中
School sch = queryRunner.query(sql, new BeanHandler<School>(School.class));
sout:com.etoak.student.entity.School@13805618

6.BeanListHandler将结果集中每一行数据封装到一个JavaBean实例中,存放到list中

		String sql = "Select * from school";

        List<School> list = queryRunner.query(sql, new BeanListHandler<School>(School.class));

        for (School l :list){
            System.out.print(l.getName());
            System.out.print(l.getInfo());
            System.out.println(l.getPhone());
        }
sout:
暨南大学趵突泉北路15835647896
山东大学蓝石大厦15835647896
山东师范大学经十路15835647896
北京大学北京路18263366070
北京师范大学烟台路1815835891461
7.ColumnListHandler将某一列的数据全部放到list中
		String sql = "Select * from school";

        List<Object> list = (List<Object>) queryRunner.query(sql,new ColumnListHandler("name"));

        for (Object map :list){
            System.out.println(map);
        }
sout:
"暨南大学"
"山东大学"
"山东师范大学"
"北京大学""
"北京师范大学"
8.ScalarHandler将第一行中的某个列的值放到对象中
		String sql = "Select * from school";

        Object list = queryRunner.query(sql,new ScalarHandler<>("name"));

        System.out.println(list);
sout:
"暨南大学"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值