閱讀905 返回首頁    go 阿裏雲 go 技術社區[雲棲]


[Apache commons係列]DBUtils簡介-2.核心類簡介

  inkfish原創,請勿商業性質轉載,轉載請注明來源(https://blog.csdn.net/inkfish )。

  DbUtils是一個小型的類庫,不需要也不值得花太長的時間去熟悉每一個類。DbUtils核心其實隻有三個類/接口,即QueryRunnerResultSetHandlerDbUtls (官方文檔中寫的是前兩個)。(來源: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 :關閉ConnectionStatementResultSet ,忽略null;
  • closeQuietly :安靜的關閉ConnectionStatementResultSet ,它會盡力去關閉,忽略null和SQLException
  • commitAndClose :提交並關閉Connection ,忽略null;
  • commitAndCloseQuietly :提交並關閉Connection ,忽略null和SQLException
  • loadDriver :和Class.forName().newInstance() 功能一樣,但它能捕獲異常,並返回truefalse
  • 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 :執行查詢操作(StatementPreparedStatement 均可),並用ResultSetHandler 來處理ResultSet
  • update :執行INSERT或UPDATE操作(StatementPreparedStatement 均可)。

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 是指定的列值,第二個MapString 是列名;
  • 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

  上一篇:go 你真的了解html嗎?--之script標簽介紹
  下一篇:go 以公司名義做開源路能走多遠?