jdbc優化 DButils的使用

2021-07-13 03:24:05 字數 2179 閱讀 7807

commons-dbutils 是 apache 組織提供的乙個開源 jdbc工具類庫,它是對jdbc的簡單封裝,學習成本極低,並且使用dbutils能極大簡化jdbc編碼的工作量。開始用之前,

檔案 : commons-dbutils-1.6.jar。

queryrunner類

queryrunner類是dbutils的核心工具類物件,簡化了sql查詢,它與resultsethandler組合在一起使用可以完成大部分的資料庫操作,能夠大大減少編碼量。定義了所有的與資料庫操作的方法(

查詢、更新)。

1.int  update(connection conn, string sql, object param);   執行更新帶乙個佔位符的

sql

2. int  update(connection conn, string sql, object…  param); 執行更新帶多個佔位符的

sql3. t  query(connection conn ,string sql, resultsethandlerrsh, object... params) 

4. int  update( string sql, object param);

5. int  update( string sql, object…  param);

6. int  batch( string sql, object params) 

注意: 如果呼叫dbutils

元件的運算元據庫方法,沒有傳入連線物件,那麼在例項化

queryrunner

物件的時候需要傳入資料來源物件:

queryrunner qr = new queryrunner(ds);

dbutils提供的封裝結果的一些物件:

1) beanhandler: 查詢返回單個物件

2) beanlisthandler: 查詢返回

list

集合,集合元素是指定的物件

3)  arrayhandler, 查詢返回結果記錄的第一行,封裝對物件陣列

, 即返回:

object

4)  arraylisthandler, 把查詢的每一行都封裝為物件陣列,再新增到

list

集合中

5)  scalarhandler 查詢返回結果記錄的第一行的第一列  

(在聚合函式統計的時候用)

6)  maphandler  查詢返回結果的第一條記錄封裝為

map

下面的**是關於dbutils的一些適用:

public class dbutil_query 

return null;

}}, 2);

// 測試

system.out.println(admin);

// 關閉

conn.close();

} //2.使用元件提供的結果集物件封裝資料(查詢)

//(1)beanhandler:查詢返回單個物件

@test

public void test2() throws exception

//(2)beanlisthandler: 查詢返回list集合,集合元素是指定的物件

@test

public void test3() throws exception

//(3) arrayhandler, 查詢返回結果記錄的第一行,封裝對物件陣列, 即返回:object

@test

public void test4() throws exception

//(4) arraylisthandler, 把查詢的每一行都封裝為物件陣列,再新增到list集合中

@test

public void test5() throws exception

//(5)scalarhandler 查詢返回結果記錄的第一行的第一列 (在聚合函式統計的時候用)

@test

public void test6() throws exception

//(6)maphandler 查詢返回結果的第一條記錄封裝為map

@test

public void test7() throws exception

}

JDBC事務操作和DBUtils事務

jdbc事務操作 預設是自動事務 執行sql語句 executeupdate 每次執行executeupdate 方法 代表事務自動提交 通過jdbc的api手動事務 開啟事務 conn.setautocomnmit false 提交事務 conn.commit 回滾事務 conn.rollback...

JDBC 使用DBUtils工具類完成增刪改 查

一 步驟 只針對boys表,若要通用的 則需要使用泛型 二 舉例解析 1 查詢一條記錄 boys boys queryrunner.query connection,select from boys where id new beanhandler boys.class 2 beanhandler,...

jdbc 批量插入優化

專案中有乙個大資料插入的功能是通過jdbc的批處理實現的,但效率一直不理想。最近研究了一下,做如下總結 1 如果id使用的是uuid,一定要保證有序。因為通常資料庫會為主鍵建立聚集索引。而聚集索引是用來指明資料排序規則的。所以,對於非有序的id,插入的同時會做大量的排序操作,很影響效率。另外,我們在...