Common Dbutils使用说明

6 篇文章 0 订阅
Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
主要类与接口:
DbUtils类:启动类
ResultSetHandler接口:转换类型接口
MapListHandler类:实现类,把记录转化成List
BeanListHandler类:实现类,把记录转化成List,使记录为JavaBean类型的对象
Qrery Runner类:执行SQL语句的类

一、QueryRunner类
这个类简单化了执行SQL查询,它与ResultSetHandler组合在一起使用就可能完成大部分的数据库操作,它能够大大减少你所的编码量。
QueryRunner类提供了两个构造方法:一个是默认的构造方法;另一个需要一个 javax.sql.DataSource 来作为参数。因此,在你不用为一个方法提供一个数据库连接的情况下,提供给构造器的DataSource)被用来获得一个新的连接并将继续进行下去。
这个类中的重要方法包括以下这些:
1、public Object query(Connection conn, String sql, Object[] params, ResultSetHandler rsh) throws SQLException:执行一个查询操作,在这个查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法它会内在地处理PreparedStatement 和ResultSet 的创建和关闭。最重要的是参数ResultSetHandler会把从 ResultSet中获得的数据转换成一个更容易的或是应用程序特定的格式供我们使用。
2、public Object query(String sql, Object[] params, ResultSetHandler rsh) throws SQLException: 这几乎与第一种方法一样;唯一的不同在于它不将数据库连接提供给方法,并且它是从提供给构造方法的数据源(DataSource) 或使用的setDataSource 方法中重新获得的。
3、public Object query(Connection conn, String sql, ResultSetHandler rsh) throws SQLException : 执行一个不需要置换参数的查询操作。
4、public int update(Connection conn, String sql, Object[] params) throws SQLException:用来执行一个更新(插入、更新或删除)操作。
5、public int update(Connection conn, String sql) throws SQLException:用来执行一个更新操作,不需要置换参数。


二、ResultSetHandler接口
正如它的名字所提示的,这一接口执行处理一个jaca.sql.ResultSet,将数据按要求转换为另一种形式。
ResultSetHandler接口提供了一个单独的方法:Object handle (java.sql.ResultSet .rs)。因此任何ResultSetHandler 的执行需要一个结果集(ResultSet)作为参数传入,然后才能处理这个结果集,再返回一个对象。因为返回类型是java.lang.Object,所以除了不能返回一个原始的Java类型之外,其它的返回类型并没有什么限制。
common-dbutils组件包针对这个接口提供了九个实现类:
1、ArrayHandler:把结果集中的第一行数据转成对象数组。
2、ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。
3、BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
4、BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
5、ColumnListHandler:将结果集中某一列的数据存放到List中。
6、KeyedHandler:将结果集中的每一行数据都封装到一个Map里,然后再根据指定的key把每个Map再存放到一个Map里。
7、MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
8、MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
9、ScalarHandler:将结果集中某一条记录的其中某一列的数据存成Object
如果这九个实现类中没有任何一个提供了你想要的服务,你可以自己写一个实现类。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值