Java精选笔记_DBUtils工具

DBUtils工具

API介绍

为了更加简单地使用JDBC,Apache组织提供了一个工具类库commons-dbutils组件。
该组件实现了对JDBC的简单封装,可以在不影响性能的情况下极大简化JDBC的编码工作量。

commons-dbutils的核心是两个类和一个接口:DBUtils类、QueryRunner类、ResultSetHandler接口

DBUtils类

主要为如关闭连接、装载JDBC驱动程序之类的常规工作提供方法,它提供的方法都是静态方法
    close() 
    closeQuietly(Connection conn,Statement stmt,ResultSet rs)
    commitAndCloseQuietly(Connection conn)
    loadDriver(java.lang.String driverClassName)


QueryRunner类


简化了执行SQL语句的代码,它与ResultSetHandler组合在一起就能完成大部分的数据库操作,大大减少编码量。针对不同的数据库操作,QueryRunner类提供的不同的方法。
    query(Connection conn, String sql, ResultSetHandler rsh,Object[] params) 
    query(String sql, ResultSetHandler rsh, Object[] params)
    query(Connection conn, String sql, ResultSetHandler rsh)
    update(Connection conn, String sql, Object[] params)
    update(Connection conn, String sql)

ResultSetHandler接口


用于处理ResultSet结果集,它可以将结果集中的数据转为不同的形式,根据结果集中数据类型的不同,ResultSetHandler提供了不同的实现类。

    AbstractKeyedHandler 该类为抽象类,能够把结果集里面的数据转换为用Map存储。
    AbstractListHandler 该类为抽象类,能够把结果集里面的数据转换为用List存储,抽象类。
    ArrayHandler 把结果集中的第一行数据转成对象数组。
    ArrayListHandler 把结果集中的每一行数据都转成一个对象数组,再将数组存放到List中。
    BaseResultSetHandler 把结果集转换成其他对象的扩展。
    BeanHandler 将结果集中的第一行数据封装到一个对应的JavaBean实例中。
    BeanListHandler 将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
    BeanMapHandler 将结果集中的每一行数据都封装到一个对应的JavaBean实例中,然后再根据指定的key把每个JavaBean再存放到一个Map里。
    ColumnListHandler 将结果集中某一列的数据存放到List中。
    KeyedHandler 将结果集中的每一行数据都封装到一个Map里,然后再根据指定的key把每个Map再存放到一个Map里。
    MapHandler 将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
    MapListHandler 将结果集中的每一行数据都封装到一个Map里,然后再存放到List中。

    ScalarHandler 将结果集中某一条记录的其中某一列的数据存储成Object对象。


ResultSetHandler实现类


ArrayHandler和ArrayListHandler


可以将把结果集中的第一行数据转成对象数组。


Beanhandler、BeanListHandler和BeanMapHandler


将结果集中的数据封装到对应的JavaBean实例中,这也是实际开发中最常用的结果集处理方法。

MapHandler和MapListHandler


将结果集数据存成Map映射。


ColumnListHandler


当我们需要查询结果集中的一列数据时,可以使用ColumnListHandler类。

ScalarHandler


如果需要输出结果集中一行数据的指定字段值,可以使用ScalarHandler类。

KeyedHandler


如果需要输出结果集中一行数据的指定字段值,可以使用KeyedHandler类。

最能让人感到快乐的事,莫过于经过一番努力后,所有东西正慢慢变成你想要的样子!
原文地址:https://www.cnblogs.com/justdoitba/p/7582126.html