前段時間使用了Apache Common DbUtils這個工具,在此留個印,以備不時查看。大家都知道現在市面上的數據庫訪問層的框架很多,當然很多都是包含了OR-Mapping工作步驟的 例如大家常用的Hibernate與Mybatis。當然如果人們要一個純粹的封裝了JDBC的工具類,使用Apache Common DbUtils(下面簡稱ACD)是個不錯的選擇,這個工具在JDBC的基礎上稍加封裝是JDBC的操作更加便捷,在學習使用這個框架的途中你也不需要學 習太多的API類,因為一共也才3個部分(3個包)。

  1. org.apache.commons.dbutils (該包中的類主要幫助我們更便捷的操作JDBC)

  2. org.apache.commons.dbutils.handlers(該包中的類都是實現org.apache.commons.dbutils.ResultSetHandler接口的實現類)

  3. org.apache.commons.dbutils.wrappers(該包中的類主要是封裝了對Sql結果集的操作)

使用這個DbUtils的一些優勢:

  1. 防止了資源的泄露,寫一段JDBC的準備代碼其實并不麻煩,但是那些操作確實是十分耗時和繁瑣的,也會導致有時候數據庫連接忘記關閉了導致異常難以追蹤。

  2. 干凈整潔的持久化代碼,把數據持久化到數據庫的代碼被打打削減,剩下的代碼能夠清晰簡潔的表達你的操作目的。

  3. 自動把ResultSets中的工具映射到JavaBean中,你不需要手動的使用Setter方法將列值一個個賦予相應的時日,Resultset中的每一個行都大表一個完成的Bean實體。    

要學習如何使用這個框架,最簡單的方式就是用它寫個Demo-CRUD操作,讓我們先做個準備動作在Mysql中建立一個測試專用表Visitor

/*創建Visitor*/
CREATE TABLE Visitor
(
    Id 
INT(11NOT NULL AUTO_INCREMENT,
    Name 
VARCHAR(1000NOT NULL,
    Email 
VARCHAR(1000NOT NULL,
    Status 
INT NOT NULL DEFAULT 1,
    CreateTime 
DateTime,
    
PRIMARY KEY(Id)
)

建完表結構,我們就可以學習怎么利用框架中的Utils類幫助我們完成CRUD-DEMO,其實對于這個框架主要操作的是ResultSetHandler接口的實現類與QueryRunner類

創建對應的JavaBean實體類如下:

Visitor-JavaBean

首先我們先新建一個獲取Connection的方法:

獲取Connection

新建方法(對于里面的自增字段,我們可以采用變通的方法來插入,使用select last_insert_id()方法)

Create操作

大家可以看到操作的步驟其實很簡單,也是寫SQL可以了,對于自增字段我們通過select last_insert_id()的方法利用ScalarHandler<BigInteger>實體類來返回達到變通效果。

刪除方法

刪除操作

查詢方法

查詢操作

更新操作

更新操作

BeanListHandler方法

BeanListHandler

MapHandler操作

MapHandler操作

MapListHandler方法

MapListHandler操作

經過上面的幾個示例,相信大家應該知道怎么用這個框架了吧~ 框架的官網地址



如果你覺得這篇文章對你有用,歡迎推薦[推薦]

如果你覺得文章內有錯誤歡迎指出^0^~

如果您想轉載本博客,請注明出處

如果您對本文有意見或者建議,歡迎留言

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則作者保留追究法律責任的權利。