1、事務
* 使用步驟:
* 1、開啟新事務
* 取消隱式事務自動提交的功能
* setautocommit(false);
* 2、編寫組成事務的一組sql語句
* 3、結束事務
* commit();提交
* rollback();回滾
* 細節:要求開啟事務的連線物件和獲取命令的連線物件必須是同乙個否則事務無效
2、批處理
* 案例:向admin表中插入5萬行資料
* 相關api:
* addbatch();
* executebatch();
* clearbatch();
* 說明:批處理往往和preparedstatement一起搭配使用,可以既減少編譯次數,又減少執行次數,效率大大提高
@test//用批處理
public void testbatch() throws exception
} jdbcutils.close(null, statement, connection);
}
3、blob型別資料的讀寫
4、資料庫連線池
資料庫連線池:資料庫連線池的基本思想就是為資料庫連線建立乙個「緩衝池」。預先在緩衝池中放入一定數量的連線,當需要建立資料庫連線時,只需從「緩衝池」中取出乙個,使用完畢之後再放回去。
例如:druid連線池,c3p0連線池,dbcp連線池
5、dbutils
* 功能:封裝了和資料庫訪問的相關的一些方法
* 通用的增刪改查等等
主要api:
* queryrunner類
* update(連線物件connection,sql語句 ,parmas佔位符的值);執行任何增刪改語句
* query(connection,sql,resultsethandler處理結果的處理器,parmas佔位符的值);執行任何查詢語句
* resultsethandler介面
* beanhandler:將結果集的第一行,封裝成物件,並返回.
new beanhandler<>(xx.class);
//必須有對應類檔案,且屬性與字段一致
* beanlisthandler:將結果集的所有行封裝成物件的集合,並返回,
new beanlisthandler<>(xx.class);
//必須有對應類檔案,且屬性與字段一致
* scalarhandler將結果集中的第一行第一列,以object形式返回 new scalarhandler();
JDBC 連線Mysql(筆記)
方法一 test public void testconnection1 throws exception 方法二 對方法一的迭代 在如下的程式中不出現第三方的api,使程式具有更好的可移植性 test public void testconnection2 throws exception 方式三...
mySQL筆記(十五) JDBC的使用2
jdbc的使用步驟1 載入驅動 類的載入時機 1 new 物件 2 載入子類 3 呼叫類中的靜態成員 4 通過反射 使用new物件的方式載入類的不足 1 屬於編譯期載入,如果編譯期間該類不存在,則直接編譯報錯,也就是依賴性太強 2 導致driver物件建立了兩遍,效率較低 採用反射的方式載入類 1 ...
mySQL筆記(十六) JDBC的使用3
preparedstatement和statement的區別 關係 1 都屬於執行sql語句的命令介面,都提供了一系列執行sql語句的方法 2 preparedstatement繼承了statement preparedstatement的好處 1 不再使用 拼接sql語句,減少語法錯誤,語義性強 ...