一、DButils
commons-dbutils是阿帕奇(Apache)提供的一个开源的JDBC工具类库,它将JDBC进行了一系列简单的封装,使用起来很方便,并且其源代码极易读懂,因此,使用dbutils能够从很大程度上减少JDBC编码的工作量。我们可以从Apache官网去下载到这个工具包,下载地址为
http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi
如果想要对数据库进行操作的话,可以使用dbutils中包含一些类,这些类中包含了用于对数据库执行更新操作与执行查询操作等方法。下面详细介绍一下
二、DButils类
该类中提供了一些用于关闭连接,加载JDBC驱动程序等工具类,里面所有的方法都为静态的,主要方法有如下几种:
1、public static void close(...) 该类方法有三个重载方法用于关闭Connection、Statement、ResultSet,如果他们不为null就关闭他们。
2、public static void closeQuietly(...) 该类方法有四个重载方法,除了能够在Connection、Statement、ResultSet为null的情况下避免关闭之外,还隐藏了一些程序中可能抛出的异常(原理就是捕获了异常,但是不对其进行任何的处理)
3、public static void commitAndCloseQuietly()(Connection con) 用来提交和关闭连接,并且隐藏了一些异常
4、public static boolean loadDriver(String driverClassName) 该类方法用于装载JDBC驱动程序,如果成功,就返回true,并且使用该方法不用捕捉ClassNotFoundException
三、QueryRunner类
该类将JDBC查询及更新的步骤进行了包装,从而简化了操作,他和ResultSetHandler一起使用可以完成大部分的数据库操作,其提供了两个构造方法:
1、默认的无参构造方法
2、需要传入一个DataSource类对象来作为参数的构造方法
其主要方法如下:
1、public Object query(Connection con ,String sql,ResuleSetHandler rsh,
Object[] params) 执行一个查询操作,该查询中,对象数组中的每个元素值被用来替换"?"参数,并且该方法还会创建和关闭PreparedStatement和ResultSet
2、pubilc Object query(String sql,ResuleSetHandler rsh,Object[] params ) 和上一个方法差不多,只是它连接数据库时使用的是从提供给构造方法的数据源(DataSource)中获得Connection
3、public Object query(Connection con ,String sql,ResuleSetHandler rsh ) 执行一个不需要填充占位符"?"的查询操作
4、public int update(Connection con,String sql,Object[] params ) 用来执行一个更新操作
5、public int update(Connection con,String sql ) 执行一个不需要填充占位符"?"的更新操作
四、ResultSetHandler接口及其实现类
ResultSetHandler接口及其实现类是用来处理ResultSet结果集的工具,其中ResultSetHandler接口中提供了一个方法为:Object
handle(ResultSet rs)。
ResultSetHandler接口的实现类有很多种,我们可以根据自己的需要来选择使用哪一种,下面来详细介绍一下其实现类:
1、ArrayHandler: 将查询所得结果集中的第一行数据转为对象数组
2、ArrayListHandler: 将结果集中的每一行都转换成一个数组,存放在List集合中
3、BeanHandler: 将结果集中的第一行数据封装到一个对应的JavaBean实例中
4、BeanListHandler: 将结果集中的每一行数据都封装到一个对应的JavaBean实例中,并存放在List集合中 <