[Apache commons係列]DBUtils簡介-2.核心類簡介
inkfish原創,請勿商業性質轉載,轉載請注明來源(https://blog.csdn.net/inkfish )。
DbUtils是一個小型的類庫,不需要也不值得花太長的時間去熟悉每一個類。DbUtils核心其實隻有三個類/接口,即QueryRunner
、ResultSetHandler
和DbUtls
(官方文檔中寫的是前兩個)。(來源:https://blog.csdn.net/inkfish)
一.下麵先過一下DbUtils的幾個包(package):(來源:https://blog.csdn.net/inkfish)
1.org.apache.commons.dbutils
提供核心類/接口,提供最常用最通用的功能。(來源:https://blog.csdn.net/inkfish)
2.org.apache.commons.dbutils.handlers
提供對ResultSet
的各種形式的包裝,所有類都實現了ResultSetHandler
,因此也可以看做是ResultSetHandler
的延伸。其功能比如把ResultSet
中每一行變成一個JavaBean或一個數組等。(來源:https://blog.csdn.net/inkfish)
3.org.apache.commons.dbutils.wrappers
提供對ResultSet
中的值的包裝過濾,所有類都實現了java.lang.reflect.InvocationHandler
。其功能比如將ResultSet
中所有String
值進行trim()
操作,或是把所有null值賦一個有意義的新值。(來源:https://blog.csdn.net/inkfish)
二.下麵是對DbUtils各類的使用進行介紹:(來源:https://blog.csdn.net/inkfish)
1.org.apache.commons.dbutils.DbUtils
DbUtils類是一個工具類,裏麵所有方法都是靜態的,因此無需實例化即可調用,通過API介紹即可了解其功能:(來源:https://blog.csdn.net/inkfish)
-
close
:關閉Connection
、Statement
或ResultSet
,忽略null; -
closeQuietly
:安靜的關閉Connection
、Statement
或ResultSet
,它會盡力去關閉,忽略null和SQLException
; -
commitAndClose
:提交並關閉Connection
,忽略null; -
commitAndCloseQuietly
:提交並關閉Connection
,忽略null和SQLException
; -
loadDriver
:和Class.forName().newInstance()
功能一樣,但它能捕獲異常,並返回true
或false
; -
printStackTrace
:打印SQLException
的詳細錯誤信息; -
printWarnings
:打印Connection
的警告信息; -
rollback
:回滾操作,忽略null; -
rollbackAndClose
:回滾操作並關閉,忽略null; -
rollbackAndCloseQuietly
:回滾操作並關閉,忽略null、SQLException
。
2.org.apache.commons.dbutils.QueryRunner
(來源:https://blog.csdn.net/inkfish)
-
batch
:執行成批的INSERT、UPDATE、DELETE操作; -
fillStatement
:用Object[]
或JavaBean的值填充PreparedStatement
中的占位符; -
query
:執行查詢操作(Statement
或PreparedStatement
均可),並用ResultSetHandler
來處理ResultSet
; -
update
:執行INSERT或UPDATE操作(Statement
或PreparedStatement
均可)。
3.org.apache.commons.dbutils.ResultSetHandler
所有在DbUtils裏提供的的ResultSetHandler
實現都是線程安全的
-
ArrayHandler
:把ResultSet
第一行包裝成Object[]
; -
ArrayListHandler
:把ResultSet包裝成
List<Object[]>
; -
BeanHandler
:把ResultSet
第一行包裝成一個JavaBean; -
BeanListHandler
:把ResultSet
第一行包裝成一個List<JavaBean>
; -
ColumnListHandler
:抽取ResultSet
指定的列,以List<Object>
對象的形式返回,默認第一列; -
KeyedHandler
:包裝ResultSet
,以Map<Object,Map<String,Object>>
對象形式返回,第一個Object
是指定的列值,第二個Map
中String
是列名; -
MapHandler
:把ResultSet
第一行包裝成Map<String, Object>
; -
MapListHandler
:把ResultSet包裝成
List<Map<String,Object>>
; -
ScalarHandler
:抽取ResultSet
第一行指定列,以Object
對象形式返回。
4.org.apache.commons.dbutils.wrappers.SqlNullCheckedResultSet
對ResultSet
中的null值進行處理。
5.org.apache.commons.dbutils.wrappers.StringTrimmedResultSet
對ResultSet
中的String
進行trim()
處理。(來源:https://blog.csdn.net/inkfish)
最後更新:2017-04-02 04:01:44