您的当前位置:首页正文

mybatis 给单个事务设置事务隔离级别

2024-12-01 来源:个人技术集锦

为什么要设置事务隔离级别

一个未提交的事务对数据进行了写操作,这个时候在不同的事务隔离级别下,其它事务读到的数据可能是不同的,设置事务隔离级别可以保证数据的一致性。

事务隔离等级介绍

  • READ_COMMITTED:一个事务中修改的数据提交后才能被另一个事务读取
  • READ_UNCOMMITTED:修改了数据未提交,其他事务读到的是修改后的数据
  • REPEATABLE_READ:事务开始时会备份一份数据
  • SERIALIZABLE:一个事务执行时,其他事务要等待他结束才能执行

mybatis通过@Transactional设置隔离级别

通过“isolation”参数设置隔离级别

  • Isolation.DEFAULT //数据库默认的事务隔离级别
  • Isolation.READ_COMMITTED
  • Isolation.READ_UNCOMMITTED
  • Isolation.REPEATABLE_READ
  • Isolation.SERIALIZABLE
@Transactional(rollbackFor = Exception.class,isolation = Isolation.SERIALIZABLE)

 

显示全文