在同时并行执行多个事务的数据库系统中,隔离特性表明所有事务都将被执行和执行,就好像它是系统中唯一的事务一样。任何交易都不会影响任何其他交易的存在。
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。