Javaweb學習筆記8—DBUtils工具包
今天來講javaweb的第8階段學習。DBUtils技術,DBUtils是我們操作資料庫很常用的功能,雖然後期使用都是它的封裝結果,但是也需要掌握。
老規矩,首先先用一張思維導圖來展現今天的部落格內容。
ps:我的思維是用的xMind畫的,如果你對我的思維導圖感興趣並且想看到你們跟詳細的備註資訊,請點選下載
另外:如果圖看不清的話請右擊---在新視窗中開啟會清楚很多
一* 概述:
1* 定義:
用於封裝操作資料庫的增刪改查.
2* 特點:
A* 對於資料表的讀操作,他可以把結果轉換成List、Array、Set等java集合,便於程式設計師操作.
B* 對於資料表的寫操作
,也變得很簡單(只需寫sql語句).C* 可以使用資料來源,使用JNDI,資料庫連線池等技術來優化效能.
二* 常用類:
1* QueryRunner類:
1.1* 建構函式:
* QueryRunner():預設無參構造.
* QueryRunner(DataSource ds):傳遞連線池的構造.
1.2* 常用方法:
* query()方法:用於執行查詢操作.
* query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
* query(String sql, ResultSetHandler<T> rsh, Object... params)
* update()方法:用於執行增刪改操作.
* update(Connection conn, String sql, Object... params)
* update(String sql, Object... params)
2* ResultSetHandler介面:
handle(ResultSet rs)方法:
用於將ResultSet結果集型別進行轉換.
三 * 兩種方式管理事務:
1* 手動管理事務:
* QueryRunner()
* query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
* update(Connection conn, String sql, Object... params)
2* 工具管理事務:
* QueryRunner(DataSource ds)
* query(String sql, ResultSetHandler<T> rsh, Object... params)
* update(String sql, Object... params)
四* ResultSethandler:
通過上述查詢語句可以發現,每次去實現ResultSetHandler的方法非常麻煩。其實ResultSetHandler介面提供了九個實現類供使用,分別如下:
1* ArrayHandler:把結果集中的第一行資料轉成物件陣列.
2 * ArrayListHandler:把結果集中的每一行資料都轉成一個物件陣列,再存放到List中.
3* BeanHandler:將結果集中的第一行資料封裝到一個對應的JavaBean例項中.
4* BeanListHandler:將結果集中的每一行資料都封裝到一個對應的JavaBean例項中,存放到List裡.
5* MapHandler:將結果集中的第一行資料封裝到一個Map裡,key是列名,value就是對應的值.
6* MapListHandler:將結果集中的每一行資料都封裝到一個Map裡,然後再存放到List.
7* ColumnListHandler:將結果集中某一列的資料存放到List中.
8* KeyedHandler:將結果集中的每一行資料都封裝到一個Map裡,再把這些map再存到一個map裡,其key為指定的列.
9* ScalarHandler:進行單值查詢.