JDBC
應用程式通過驅動連接配接到資料庫,進而操作資料庫。
簡化開發人員對資料庫的操作,提供了一個java操作資料庫的規範,俗稱JDBC
對于程式猿,隻需要學習JDBC提供的接口。
java.sql
javax.sql
導入資料庫驅動的包: mysql-connector-java-8.0.23.jar
加載驅動
連接配接資料庫 DriverManager
獲得執行sql的對象 Statement
獲得傳回的結果集
釋放連接配接
URL
DriverManager
Statement PrepareStatement 執行SQL的對象
ResultSet 查詢的結果集:封裝了所有的查詢結果
周遊
釋放資源
執行SQL的對象 Statement
Statement statement = connection.createStatement();
CRUD操作-create
使用executeUpdate(String sql)方法完成資料添加操作:
CRUD操作-update
使用executeUpdate(String sql)方法完成資料更新操作:
CRUD操作-delete
使用executeUpdate(String sql)方法完成資料删除操作:
CRUD操作-read
使用executeQuery(String sql)方法完成資料查詢操作:
建立utils工具類
調用 utils工具類
PreparedStatement 使用?占位符
防止SQL注入的本質,傳遞進來的參數當做字元
ACID原則
原子性:要哦全部完成,要麼都不完成
一緻性:總數不變
隔離性:多個程序互不幹擾。存在以下問題
髒讀:一個事務讀取了另一個沒有送出的事務
不可重複讀:在同一個事務内,重複讀取表中的資料,表資料發生了改變
虛讀:在一個事務内,讀取到了别人插入的資料,導緻前後讀出來的結果不一緻
持久性:一旦送出不可逆,持久化到資料庫
資料庫執行步驟:資料庫連接配接 --- 執行完畢 --- 釋放
池化技術:準備一些預先的資源,過來就連接配接準備好的
連接配接池常用的參數
最小連接配接數:10
最大連接配接數: 100 業務最高承載上限
等待逾時:100ms
編寫連接配接池,需要實作一個接口 DateSource
開源資料源實作
DBCP
C3P0
Druid
使用這些連接配接池之後,可以節省連接配接資料庫的代碼Connection connection = JdbcUtils.getConnection();
需要用到的jar包:commons-dbcp-1.4.jar、commons-pool-1.6.jar
配置檔案
工具類
需要用到的jar包:mchange-commons-java-0.2.20.jar、c3p0-0.9.5.5.jar
配置檔案 c3p0-config.xml