在同時並行執行多個事務的數據庫係統中,隔離特性表明所有事務都將被執行和執行,就好像它是係統中唯一的事務一樣。任何交易都不會影響任何其他交易的存在。
JDBC 通過 Connection 接口提供了 5 個事務隔離級別的支持。
- TRANSACTION_NONE:它由整數值表示 0 不支持事務。
- TRANSACTION_READ_COMMITTED:它由整數值 2 表示,支持允許不可重複讀和幻讀的事務。
- TRANSACTION_READ_UNCOMMITTED:它由整數值 1 表示,支持允許髒讀、不可重複讀和幻讀的事務。
- TRANSACTION_REPEATABLE_READ:它由整數值表示 4 支持僅允許幻讀的事務。
- TRANSACTION_SERIALIZABLE:它由整數值 8 表示,支持事務,不允許髒讀、不可重複讀和幻讀。
這個setTransactionIsolation()Connection 接口的方法用於更改當前連接的事務隔離級別。
參數
此方法接受一個整數值,表示 5 個事務隔離級別之一。
示例
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://localhost/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 Connection setHoldability()用法及代碼示例
- Java Connection setAutoCommit()用法及代碼示例
- Java ConcurrentLinkedDeque add()用法及代碼示例
- Java ConcurrentSkipListSet iterator()用法及代碼示例
- Java ConcurrentSkipListMap clear()用法及代碼示例
- Java ConcurrentLinkedQueue removeAll()用法及代碼示例
- Java ConcurrentLinkedDeque removeFirstOccurrence()用法及代碼示例
- Java ConcurrentLinkedDeque removeLast()用法及代碼示例
- Java ConcurrentSkipListSet floor()用法及代碼示例
- Java ConcurrentSkipListMap clone()用法及代碼示例
- Java ConcurrentSkipListSet clone()用法及代碼示例
- Java ConcurrentLinkedDeque hashCode()用法及代碼示例
- Java Console printf(String, Object)用法及代碼示例
- Java ConcurrentSkipListSet first()用法及代碼示例
- Java ConcurrentHashMap contains()用法及代碼示例
- Java Console format()用法及代碼示例
- Java ConcurrentLinkedDeque contains()用法及代碼示例
- Java ConcurrentLinkedDeque Spliterator()用法及代碼示例
- Java ConcurrentSkipListMap equals()用法及代碼示例
- Java ConcurrentHashMap newKeySet()用法及代碼示例
注:本文由純淨天空篩選整理自Arushi大神的英文原創作品 Java Connection setTransactionIsolation() method with example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。