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類。