一次spring+mybatis事务隔离级别探索

828 阅读1分钟

一、事务隔离级别阻塞情况

  • 事务一:先执行,后结束
  • 事务二:在事务一执行期间执行
  • 阻塞:事务二中sql语句被事务一阻塞,等待事务一结束后sql语句才执行
  • 不阻塞:事务二中sql语句不等事务一结束,直接执行

二、事务配置和代码详情

1、spring事务配置

2、java主要代码

代码思路:两个线程并发执行,设置延迟,保证执行顺序:事务一、事务二、事务一,观察事务一执行期间对事务二的阻塞情况

3、sql主要配置

三、总结

  • 序列化:相当于和其他事务串行执行
  • 可重复读:第一次读取提交的数据,第二次读取相同数据,期间即使其他事务提交,也不读取;读数据并不阻塞其他事务