spring|spring 事物的级别_Spring事务的五种事务隔离级别

一、数据库事务的四种隔离级别
JDBC事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。
1. Read uncommitted
无法保证并发事务出现的问题
2. Read committed(只能读取已提交的数据,可避免脏读)
一事务未提交时,不能去读取数据
3. Repeatable read(可避免脏读、不可重复读)
一事务未提交时,不能去读取数据
一事务在读取数据时,另一事物不能去修改数据
4. Serializable (事务串行化顺序执行)
不会出现并行事务,效率低下,一般不使用。
Tips:大多数数据库默认的事务隔离级别是Read committed,比如Sql Server , Oracle。
Mysql的默认隔离级别是Repeatable read。
Tips:隔离级别的设置只对当前链接有效。
对于使用MySQL命令窗口而言,一个窗口就相当于一个链接,当前窗口设置的隔离级别只对当前窗口中的事务有效;
对于JDBC操作数据库来说,一个Connection对象相当于一个链接,而对于Connection对象设置的隔离级别只对该Connection对象有效,与其他链接Connection对象无关。
Tips:设置数据库的隔离级别一定要是在开启事务之前。
二、Sping事务的五种隔离级别
1. ISOLATION_DEFAULT
使用数据库默认的隔离级别
【spring|spring 事物的级别_Spring事务的五种事务隔离级别】2. ISOLATION_READ_UNCOMMITTED
事务最低的隔离级别
3.ISOLATION_READ_COMMITTED
保证一个事务修改的数据提交后才能被另外一个事务读取
4.ISOLATION_REPEATABLE_READ
保证一个事务修改的数据提交后才能被另外一个事务读取
保证一个事务读取数据后,另外一个事务才能修改
5.ISOLATION_SERIALIZABLE
这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行

    推荐阅读