Java Connection setTransactionIsolation() 方法及示例
在資料庫系統中,當多個事務同時並行執行時,隔離性屬性規定所有事務都將被執行,就好像它是系統中唯一的事務一樣。沒有任何事務會影響其他事務的存在。
Java Connection 中的事務隔離級別
JDBC(Java 資料庫連線) 透過 Connection 介面提供了 5 種事務隔離級別。
- TRANSACTION_NONE:用整數 0 表示,不支援事務。
- TRANSACTION_READ_COMMITTED:用整數 2 表示,支援事務,允許不可重複讀和幻讀。
- TRANSACTION_READ_UNCOMMITTED:用整數 1 表示,支援事務,允許髒讀、不可重複讀和幻讀。
- TRANSACTION_REPEATABLE_READ:用整數 4 表示,支援事務,僅允許幻讀。
- TRANSACTION_SERIALIZABLE:用整數 8 表示,支援事務,不允許髒讀、不可重複讀和幻讀。
setTransactionIsolation() 方法
Connection 介面的 setTransactionIsolation() 方法用於更改當前連線的事務隔離級別。
引數
此方法接受一個整數,表示 5 個事務隔離級別之一。
示例
下面是 setTransactionIsolation() 方法的一個示例 -
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connection_setTransactionIsolation {
public static void main(String args[]) throws SQLException {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String url = "jdbc:mysql:///mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");
System.out.println("Connection established......");
//Retrieving the transaction isolation level
con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
int transactionIsoltionLevel = con.getTransactionIsolation();
System.out.println("Transaction isolation level of the underlying
database is: "+transactionIsoltionLevel);
}
}
輸出
Connection established...... Transaction isolation level of the underlying database is: 1
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP