DButil善用Handler()来取出自己想要的数据封装格式

最近做的项目需要与多个数据库的多张表进行增删改查,在这里我使用了DButil来帮忙实现增删改查的操作。
但是在写代码的过程中我希望自己取得的结果集返回给客户端时是以json字符串的形式,但是显然gson是不能直接转list的。那么我的想法是先把list转为Map再进行json格式转换。但是在看DBUtil的源码时发现它在取得数据的时候会使用封装好的Handler()来转换数据格式,那么直接用封装好的Handlerb()方法不是更省事吗?
我们查询数据时使用queryRunner.query(conn,   sql, new Handler()(Object[])params);方法,只要替换其中的Handler就能获取不同格式的数据!
就这样在查看了很多文章和文档之后我发现了如下几个可直接使用的Handler(可处理多行或单行数据):
new MapHandler():将结果集封装到Map中返回
new BeanHandler(T.class):将结果封装为T对象或T对象数组返回
new ArrayHandler():将结果封装为数组返回
newColumnListHandler("需要返回的那一列的列名"):使用ColumnListHandler处理单行记录,返回其中指定的一列!( 这个只能处理单行数据
new ScalarHandler(" 需要返回的那一列的列名"):使用ScalarHandler处理单行记录,只返回结果集第一行中的指定字段,如未指定字段,则返回第一个字段! 这个只能处理单行数据
这样我们在写项目的时候就会很省事了!就此Mark!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值