DButils的使用

DBUtils是一个小型的类库,它使JDBC编程更加方便,简单。在JDBC编程中,资源的关闭是显式的,极易导致编程出现错误,DBUtils把这些工作抽象出来,使得程序员编程时仅需要关心正真的问题,即对数据库的增删。
  下载下来后(当然也可以使用maven工程),名称为commons-dbutils-1.6.jar,面总共包含三个包。
  其中的org.apache.commons.dbutils包主要有如下的接口和类:
  ResultSetHandler——将ResultSet转换为别的对象的工具。
  BeanProcessor——匹配列名到Bean属性名,转换结果集列到Bean对象的属性。
  DbUtils——一个JDBC辅助工具集合。
  ProxyFactory——产生JDBC接口的代理实现。
  QueryLoader——属性文件加载器,用于加载属性文件中的SQL到内存中。
  QueryRunner——使用可插拔的策略执行SQL查询并处理结果集。
  ResultSetIterator——包装结果集为一个迭代器。
  org.apache.commons.dbutils.handlers包为第一个包中ResultSetHandler接口的实现类:
  AbstractListHandler——将ResultSet转化为List类型的抽象类。
  ArrayHandler——将ResultSet转化为Object[]类型的实现类。
  ArrayListHandler——将ResultSet转化为List<Object[]>类型的实现类。
  BeanHandler——将ResultSet转化为JavaBean类型的实现类。
  BeanListHandler——将ResultSet转化为List类型的实现类。
  ColumnListHandler ——将ResultSet转化为List类型的实现类。
  MapHandler ——将ResultSet转换为Map类型的实现类。
  MapListHandler ——将ResultSet转换为List类型的实现类。
  KeyedHandler——将ResultSet转换为Map
类型的实现类。
  ScalarHandler ——将ResultSet的一个列转化到一个对象。
org.apache.commons.dbutils.wrappers包:
  SqlNullCheckedResultSet——在每个getXXX方法上检查SQLNULL值的包装类。
  StringTrimmedResultSet——取出结果集中字符串左右空格的ResultSet包装类。

在使用过程中只需要熟悉DbUtils、QueryRunner和ResultSetHandler的用法就足够了。
  
  DbUtils是一个做关闭连接,装载JDBC驱动程序等工作的类,它里面所有的方法都是静态的:
  Close():DbUtils类提供了三个重载的关闭方法。这些方法检查所提供的参数是不是NULL,如果不是的话,它们就关闭连接(Connection)、声明(Statement)和结果集(ResultSet)。
  CloseQuietly():CloseQuietly这一方法不仅能在连接(Connection)、声明(Statement)和结果集(ResultSet)为NULL情况下避免关闭,还能隐藏一些在程序中抛出的SQLEeception。如果你不想捕捉这些异常的话,这对你是非常有用的。
  CommitAndCloseQuietly:这一方法用来提交连接,然后关闭连接,并且在关闭连接时不向上抛出在关闭时发生的一些SQL异常。
  LoadDriver():这一方法装载并注册JDBC驱动程序,如果成功就返回TRUE。使用这种方法,你不需要去捕捉这个异常ClassNotFoundException。使用loadDriver()方法,编码就变得更容易理解,你也就得到了一个很好的Boolean返回值,这个返回值会告诉你驱动类是不是已经加载成功了。
  
  ResultSetHandler接口处理一个java.sql.ResultSet,将数据转变为其它的形式,该接口提供ArrayHandler、ArrayListHandler、BeanHandler、BeanListHandler、MapHandler、MapListHandler、ScalarHandler等执行程序。ResultSetHandler的执行需要一个结果集(ResultSet)作为参数传入,然后才能处理这个结果集,再返回一个对象。因为返回类型是java.lang.Object,所以除了不能返回一个原始的Java类型之外,其它的返回类型并没有什么限制。如果你发现这七个执行程序中没有任何一个提供了你想要的服务,你可以自己写执行程序并使用它。
  DbUtils是一个做关闭连接,装载JDBC驱动程序等工作的类,它里面所有的方法都是静态的:
  Close():DbUtils类提供了三个重载的关闭方法。这些方法检查所提供的参数是不是NULL,如果不是的话,它们就关闭连接(Connection)、声明(Statement)和结果集(ResultSet)。
  CloseQuietly():CloseQuietly这一方法不仅能在连接(Connection)、声明(Statement)和结果集(ResultSet)为NULL情况下避免关闭,还能隐藏一些在程序中抛出的SQLEeception。如果你不想捕捉这些异常的话,这对你是非常有用的。
  CommitAndCloseQuietly:这一方法用来提交连接,然后关闭连接,并且在关闭连接时不向上抛出在关闭时发生的一些SQL异常。
  LoadDriver():这一方法装载并注册JDBC驱动程序,如果成功就返回TRUE。使用这种方法,你不需要去捕捉这个异常ClassNotFoundException。使用loadDriver()方法,编码就变得更容易理解,你也就得到了一个很好的Boolean返回值,这个返回值会告诉你驱动类是不是已经加载成功了。
  
  ResultSetHandler接口处理一个java.sql.ResultSet,将数据转变为其它的形式,该接口提供ArrayHandler、ArrayListHandler、BeanHandler、BeanListHandler、MapHandler、MapListHandler、ScalarHandler等执行程序。ResultSetHandler的执行需要一个结果集(ResultSet)作为参数传入,然后才能处理这个结果集,再返回一个对象。因为返回类型是java.lang.Object,所以除了不能返回一个原始的Java类型之外,其它的返回类型并没有什么限制。如果你发现这七个执行程序中没有任何一个提供了你想要的服务,你可以自己写执行程序并使用它。
  
  QueryRunner使执行SQL查询简单化了,它与ResultSetHandler串联在一起有效地履行着一些平常的任务,它能够大大减少你所要写的编码。它包含以下重要的方法:
  query(Connection conn,String sql,Object[] params,ResultSetHandler rsh):这一方法执行一个选择查询,对象数组(Object[] params)中的值被用来作为查询语句sql的置换参数。该方法会内在地处理Statement和ResultSet的创建和关闭。ResultSetHandler对把从ResultSet得来的数据转变成一个更容易的或是应用程序特定的格式来使用。
  query(String sql,Object[] params,ResultSetHandler rsh):这几乎与第一种方法一样;唯一的不同在于它不将数据库连接提供给方法,它是从提供给构造器的数据源(DataSource) 或使用的setDataSource 方法中重新获得的。
  query(Connection conn,String sql,ResultSetHandler rsh):该方法是执行一个不需要参数的查询操作。
  update(Connection conn,String sql,Object[] params):该方法用来执行插入、更新或者删除操作,对象数组(Object[] params)中的值被用来作为更新语句sql的置换参数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值