DBUtils 的基本使用方法
DBUtils 是一個對JDBC進行簡單封裝的開源工具類別庫,使用 它可以簡化JDBC應用程式的開發,同時也不會影響程式的性能,
在使用DBUtils時主要用到DbUtils和QueryRunner兩個類以及一個ResultSethandler介面,
一. DbUtils 類
DbUtils類是一個為做一些諸如關閉連接、裝載JDBC驅動程式之類的常規作業提供有用方法的類,比較重要的方法是:close( )、closeQuietly( )、commitAndCloseQuietly( )
其中最常用的方法是closeQuietly( )方法,
這一方法不僅能在連接、宣告或者結果集為NULL情況下避免關閉,還能隱藏一些在程式中拋出的SQLException ,如果需要避免捕捉這些例外,用這個方法是非常有用的,
具體代碼如下:
DbUtils.closeQuietly( 資料庫名 ) ;//關閉資料庫連接
二. ResultSetHandler 介面
該介面 執行處理一個 java.sql.ResultSet ,將資料轉變并處理為任何一種形式,這樣有益于其應用而且使用起來更加容易方便,該介面提供ArrayHandler、ArrayListHandler、BeanHandler、BeanListHandler、MapHandler、MapListHandler、ScalarHandler等執行程式,ResultSetHandler的執行需要一個結果集(ResultSet)作為引數傳入,然后才能處理這個結果集,再回傳一個物件,因為回傳型別是java.lang.Object,所以除了不能回傳一個原始的Java型別之外,其它的回傳型別并沒有什么限制,如果你發現這七個執行程式中沒有任何一個提供了你想要的服務,你可以自己寫執行程式并使用它,
三. QueryRunner 類
該類能使執行SQL查詢簡單化,它與ResultSetHandler串聯在一起有效地執行一些平常的任務,它能夠大大減少所要寫的代碼碼,它包含以下重要的方法:
query(Connection conn,String sql,Object[] params,ResultSetHandler rsh):
該方法執行了一個選擇查詢,物件陣列(Object[] params)中的值被用來作為查詢陳述句sql的置換引數,該方法會內在地處理Statement和ResultSet的創建和關閉,ResultSetHandler對把從ResultSet得來的資料轉變成一個更容易的或是應用程式特定的格式來使用,
query(String sql,Object[] params,ResultSetHandler rsh):
這幾乎與第一種方法一樣;唯一的不同在于它不將資料庫連接提供給方法,它是從提供給構造器的資料源(DataSource) 或使用的setDataSource 方法中重新獲得的,
query(Connection conn,String sql,ResultSetHandler rsh):
該方法是執行一個不需要引數的查詢操作,
update(Connection conn,String sql,Object[] params):
該方法用來執行插入、更新或者洗掉操作,物件陣列(Object[] params)中的值被用來作為更新陳述句sql的置換引數,
四. 在使用DBUtils時應該注意的問題:
- DBUtils是JDBC的簡單封裝,可以和JDBC混合使用,
- DBUtils對結果集自動封裝為JavaBean是有著苛刻要求的:必須滿足 JavaBean的規范,其次Bean的getter與setter方法的名字與結果集的列名一一對應,而不要求JavaBean的私有成員與表結果集列名一一對應,
- DBUtils 可以將結果集封裝為各種型別,主要有:Beam/List、 Map/List
四. DBUtils的使用主要遵循以下步驟:
1. 加載JDBC驅動程式類,并用DriverManager來得到一個資料庫連接conn,
Connection conn = ConnectDb.Connect();
- 實體化QueryRunner,得到實體化物件 qRunner,
QueryRunner qRunner = new QueryRunner();
- qRunner.update()方法,執行增改刪的sql命令,qRunner.query()方法,得到結果集,
int n = qRunner.update(conn, "sql陳述句");
DbUtils.closeQuietly(conn);
出處:https://www.cnblogs.com/meiliguo/p/9097026.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142075.html
標籤:其他
