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,插入的同時會做大量的排序操作,很影響效率。另外,我們在...