独特的大白话讲解Spring的4种事务特性,4种隔离级别,7种传播行为
spring事务:
什么是事务:
事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.
事务特性:4种
原子性:要么全部完成,要么全部失败
一致性:一旦事务完成(不管成功还是失败),必须确保业务处于一致的状态,而不是部分成功或者失败
隔离性:不同事务处理相同数据,需要把每个事务分开来,防止数据损坏
持久性:一旦事务完成,不管发生什么系统错误,结果都不受到影响,事务结果通常写到持久化储存器种
隔离级别:4种
隔离级别:定义了一个事务可能受其他并发事务影响的程度。
并发事务引起的问题:
1.脏读
2.不可重复读
3.幻读
MySQL数据库共定义了四种隔离级别:
1.Read uncommitted(读未提交):最低级别,以上情况均无法保证。
2.Read committed(读已提交):可避免脏读情况发生。Oracle的默认隔离级别
3.Repeatable read(可重复读):可避免脏读、不可重复读情况的发生。MySQL默认
4.Serializable(串行化):可避免脏读、不可重复读、幻读情况的发生。