Mysql事务隔离级别

Mysql 默认的事务隔离级别 Repeatable read(可重复读)

    TransactionIsolationLevel
    
    org.apache.ibatis.session.TransactionIsolationLevel
    java.sql.Connection
    
    
    public enum TransactionIsolationLevel {
          NONE(Connection.TRANSACTION_NONE),
          READ_COMMITTED(Connection.TRANSACTION_READ_COMMITTED),
          READ_UNCOMMITTED(Connection.TRANSACTION_READ_UNCOMMITTED),
          REPEATABLE_READ(Connection.TRANSACTION_REPEATABLE_READ),
          SERIALIZABLE(Connection.TRANSACTION_SERIALIZABLE);

          private final int level;

          TransactionIsolationLevel(int level) {
            this.level = level;
          }

          public int getLevel() {
            return level;
          }
        }
    
    
    表示不支持事务
    TRANSACTION_NONE   
    
    TRANSACTION_READ_UNCOMMITTED
    一个常量,指示可能发生脏读取、不可重复读取和幻象读取。此级别允许一个事务更改的行在提交该行中的任何更改之前被另一个事务读取(“脏读取”)。如果回滚任何更改,则第二个事务将检索到无效行。
    
    TRANSACTION_READ_COMMITTED
    一个常量,表示防止了脏读;可能发生不可重复的读取和幻象读取。此级别仅禁止事务读取其中包含未提交更改的行。
    
    TRANSACTION_REPEATABLE_READ
    一个常量,指示防止脏读取和不可重复读取;
    可能发生幻象读取。该级别禁止事务读取未提交更改的行,
    也禁止一个事务读取行,第二个事务更改行,第一个事务重新读取行,在第二次读取时获得不同的值(“不可重复读取”)。
    
    TRANSACTION_SERIALIZABLE  可串行化的
    一个常量,指示防止脏读取、不可重复读取和幻象读取。此级别包括TRANSACTION_REPEATABLE_READ中的禁止,并进一步禁止以下情况:一个事务读取满足where条件的所有行,第二个事务插入满足该where条件的行,第一个事务针对相同条件重新读取,检索第二次读取中的附加“幻象”行。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容