DbUtils類
- 提供如關(guān)閉連接悲雳、裝載JDBC驅(qū)動(dòng)程序等常規(guī)工作的工具類,里面的所有方法都是靜態(tài)的
- public static void close(…) throws java.sql.SQLException:DbUtils類提供了三個(gè)重載的關(guān)閉方法浑测。這些方法檢查所提供的參數(shù)是不是NULL掷匠,如果不是的話,它們就關(guān)閉Connection钙皮、Statement和ResultSet短条。
- public static void closeQuietly(…): 這一類方法不僅能在Connection茸时、Statement和ResultSet為NULL情況下避免關(guān)閉,還能隱藏一些在程序中拋出的SQLEeception可都。
- public static void commitAndCloseQuietly(Connection conn): 用來提交連接渠牲,然后關(guān)閉連接签杈,并且在關(guān)閉連接時(shí)不拋出SQL異常鼎兽。
- public static boolean loadDriver(java.lang.String driverClassName):這一方裝載并注冊(cè)JDBC驅(qū)動(dòng)程序接奈,如果成功就返回true。使用該方法睁壁,你不需要捕捉這個(gè)異常ClassNotFoundException潘明。
QueryRunner類
該類簡單化了SQL查詢,它與ResultSetHandler組合在一起使用可以完成大部分的數(shù)據(jù)庫操作厚宰,能夠大大減少編碼量遂填。
-
update操作
// 1.創(chuàng)建queryRunner實(shí)現(xiàn)類
QueryRunner queryRunner = new QueryRunner();// 2.使用update方法 String sql = "delete from customers where id in (?,?)"; Connection conn = JDBCTools.getConnection(); queryRunner.update(conn, sql, 4, 5);
-
query操作
queryRunner.query(connection, sql, new Handler(), para);- ScalarHandler: 把結(jié)果集轉(zhuǎn)為一個(gè)數(shù)值(可以是任意基本數(shù)據(jù)類型和字符串撵幽, Date 等)返回
- MapListHandler: 將結(jié)果集轉(zhuǎn)為一個(gè) Map 的 List礁击,多條記錄對(duì)應(yīng)的 Map 的集合.
- MapHandler: 返回 SQL 對(duì)應(yīng)的第一條記錄對(duì)應(yīng)的 Map 對(duì)象.鍵: SQL 查詢的列名(不是列的別名), 值: 列的值.
- BeanListHandler: 把結(jié)果集轉(zhuǎn)為一個(gè) List, 該 List 不為 null, 但可能為空集合(size() 方法返回 0)
- BeanHandler: 把結(jié)果集的第一條記錄轉(zhuǎn)為創(chuàng)建 BeanHandler 對(duì)象時(shí)傳入的 Class參數(shù)對(duì)應(yīng)的對(duì)象.