JAVA使用DBUtils操作資料庫
摘要:本文主要學習瞭如何使用DBUtils在Java程式碼中更方便的操作資料庫。
概述
DBUtils是Java程式設計中的資料庫操作實用工具,小巧簡單實用。
DBUtils封裝了對JDBC的操作,簡化了JDBC操作,可以少寫程式碼。
使用
準備
如果需要使用DBUtils工具類,需要導包:
commons-dbutils-1.7.jar
DBUtils封裝了在建立連線後對資料庫的操作,主要有三個核心功能:
1)QueryRunner類提供對SQL語句操作的API。
2)ResultSetHandler介面用於定義查詢操作後,如何封裝結果集。
3)DBUtils工具類定義了關閉資源與事務處理的方法。
常用方法
構造方法
提供了帶資料來源和不帶資料來源的兩種構造方法。
public QueryRunner();// 不提供資料來源,需要手動維護Connection。 public QueryRunner(DataSource ds);// 提供資料來源,DbUtils底層自動維護連線Connection。
查詢操作
支援執行查詢操作。
public <T> T query(Connection conn,String sql,ResultSetHandler<T> rsh); public <T> T query(Connection conn,ResultSetHandler<T> rsh,Object... params); public <T> T query(String sql,ResultSetHandler<T> rsh); public <T> T query(String sql,Object... params);
更新操作
支援執行增加、修改、刪除操作。
public int update(Connection conn,String sql); public int update(Connection conn,Object param); public int update(Connection conn,Object... params); public int update(String sql); public int update(String sql,Object param); public int update(String sql,Object... params);
增加操作
支援執行增加操作,可以返回增加的資料。
public <T> T insert(Connection conn,ResultSetHandler<T> rsh); public <T> T insert(Connection conn,Object... params); public <T> T insert(String sql,ResultSetHandler<T> rsh); public <T> T insert(String sql,Object... params);
批量執行
支援批量執行增加、修改、刪除操作。
public int[] batch(Connection conn,Object[][] params); public int[] batch(String sql,Object[][] params);
儲存過程
支援執行存錯過程語句,也支援沒有儲存過程的語句,但沒有存錯過程的語句不建議呼叫這個方法。
public int execute(Connection conn,Object... params); public int execute(String sql,Object... params); public <T> List<T> execute(Connection conn,Object... params); public <T> List<T> execute(String sql,Object... params);
ResultSetHandler介面說明
- BeanHandler:將結果集中的第一行資料封裝到一個對應的JavaBean例項中。
- BeanListHandler:將結果集中的每一行資料都封裝到一個對應的JavaBean例項中,再存放到List裡。
- ArrayHandler:將結果集中的第一行資料轉成物件陣列。
- ArrayListHandler:將結果集中的每一行資料都轉成一個物件陣列,再存放到List中。
- MapHandler:將結果集中的第一行資料封裝到一個Map裡,key是列名,value就是對應的值。
- MapListHandler:將結果集中的每一行資料都封裝到一個Map裡,再存放到List
- ScalarHandler:將結果集第一行的某一列放到某個物件中。
關閉資源與事務處理
是否自動關閉Connection資源是由建立QueryRunner時使用的構造器決定的:
1)如果傳入了資料來源,那麼Connection會自動關閉,在呼叫增刪查改的方法時就不需要傳入Connection。這種方式會導致每次執行SQL都會建立新連線,在SQL執行完畢後會斷開連線,無法通過Connection控制事務。
2)如果沒有傳入資料來源,那麼Connection需要手動關閉,在呼叫增刪查改方法時需要手動傳入Connection。這種方式在執行SQL時不會獲取新連線,也不會在SQL執行完畢後斷開連線,可以根據傳入的Connection控制事務。
以上就是JAVA使用DBUtils操作資料庫的詳細內容,更多關於DBUtils操作資料庫的資料請關注我們其它相關文章!