javaWeb笔记(五) common-dbutils.jar 的用法

本文介绍了QueryRunner类的update和query方法及其应用场景。update方法用于执行增、删、改操作,并支持事务;query方法用于执行查询操作,通过ResultSetHandler将结果转换为特定的数据类型。文章还详细解释了几种常用的ResultSetHandler实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QueryRunner

update

方法:
* int update(String sql, Object… params) –> 可执行增、删、改语句
* int update(Connection con, String sql, Object… parmas) –> 需要调用者提供Connection,这说明本方法不再管理Connection了。支持事务!

query

方法:
* T query(String sql, ResultSetHandler rsh, Object… params) –> 可执行查询
 > 它会先得到ResultSet,然后调用rsh的handle()把rs转换成需要的类型!
* T query(Connection con, String sql, ResultSetHadler rsh, Object… params),支持事务

ResultSetHandler

接口:
* BeanHandler(单行) –> 构造器需要一个Class类型的参数,用来把一行结果转换成指定类型的javaBean对象
* BeanListHandler(多行) –> 构造器也是需要一个Class类型的参数,用来把一行结果集转换成一个javabean,那么多行就是转换成List对象,一堆javabean
* MapHandler(单行) –> 把一行结果集转换Map对象
一行记录:
sid sname age gender
1001 zs 99 male
一个Map:
{sid:1001, sname:zs, age:99, gender:male}
* MapListHandler(多行) –> 把一行记录转换成一个Map,多行就是多个Map,即List
* ScalarHandler(单行单列) –> 通常用与select count(*) from t_stu语句!结果集是单行单列的!它返回一个Object

commons-dbutils包是Apache开源组织提供的用于操作数据库的工具包。简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改查了。代码看着也很简洁。 例如: 增删改查使用的类:QueryRunner类+ResultSetHandler类,使用这俩类就可以解决掉。 QueryRunner类的query()方法:new QueryRunner().query(Connection conn, String sql, ResultSetHandler rsh) query方法后面参数中加一个Connection连接,是在获取不到数据源的情况下,也就是说,QueryRunner的实例化构造函数使用无参的那个,下面我的实现代码就是用的这种方法。 当然还有一种实例化:new QueryRunner(new Datasource()).query(String sql, ResultSetHandler rsh) query方法中的参数 ResultSetHandler 参数中加上ResultSetHandler接口的实现类参数(下面这些实现类),执行完SQL后,返回的数据就是已经封装好的我们想要的结果了。 ArrayHandler :将ResultSet中第一行的数据转化成对象数组 ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是Object[] BeanHandler :将ResultSet中第一行的数据转化成Bean对象 BeanListHandler :将ResultSet中所有的数据转化成List ColumnListHandler :将ResultSet中某一列的数据存成List KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map,Map中存放的是数据 MapHandler :将ResultSet中第一行的数据存成Map MapListHandler :将ResultSet中所有的数据存成List<Map> ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值