一、本地事务
1.事务的特性
ACID,即:原子性,一致性,隔离性,持久性
2.事务隔离级别
isolation:
- READ UNCOMMITTED:脏读,读到其它未提交事务的数据
- READ COMMITTED:不可重复读问题,一个事务可以读取另一个已提交的事务,多次读取会造成不一样的结果
- REPEATABLE READ:虚读幻读,MySQL 默认的隔离级别,刚进事务的时候查到什么,只要事务不结束就一直会查到这个结果,哪怕这条数据被其他事务删除了,也还是能查到。MySQL的 InnoDB 引擎可以通过 next-key locks 机制(行锁)来避免幻读
- SERIALIZABLE(序列化):最高隔离级别
3.事务的传播行为
propagation:用的最多的是PROPAGATION_REQUIRED(默认),PROPAGATION_REQUIRES_NEW
- PROPAGATION_REQUIRED:如果当前没有事务,就创建