高層結構圖:
wrappers包:
handlers包(部分):
commons.dbutils是一個對JDBC操作進行封裝的類集,其有如下幾個優點:
(1)沒有可能的資源泄漏,避免了繁鎖的JDBC代碼
(2)代碼更整潔
(3)從ResultSet自動生成JavaBeans屬性
(4)無其他依賴包
基本用到的類有:QueryRunner、ResultSetHandler及其子類等
QueryRunner -- 執行查詢的類,可以執行SELECT、INSERT、UPDATE、DELETE等語句,QueryRunner用ResultSetHandler的子類來處理ResultSet並返回結果;而包提供的ResultSetHandler子類使用RowProcessor的子類來處理ResultSet中的每一行;RowProcessor的默認實現為BasicRowProcessor;BeanProcessor不是RowProcessor,可以看作一個工具類
ResultHandler及其子類 -- 實現了Object handle(ResultSet rs) throws SQLException方法
AbstractListHandler -- 返回多行List的抽象類
ArrayHandler -- 返回一行的Object[]
ArrayListHandler -- 返回List,每行是Object[]
BeanHandler -- 返回第一個Bean對象
BeanListHandler -- 返回List,每行是Bean
ColumnListHandler -- 返回一列的List
KeyedHandler -- 返回Map,具體見代碼
MapHandler -- 返回單個Map
MapListHandler -- 返回List,每行是Map
ScalarHandler -- 返回列的頭一個值
代碼:
關於wrappers包:
在新建QueryRunner時,覆蓋父類的方法wrap
1.RowProcessor接口
2.ResultSetHandler接口
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。