Tlias 项目 SQL 事务
- spring 事务管理通过 aop 实现
删除部门
- 删除部门时 应解散部门下的员工


- 在服务层对数据尽心多次增删改的方法前加注解
logging:
level:
org.springframework.jdbc.support.JdbcTransactionManager: debug
@Transactional
@Override
public void delete(Integer id) {
deptMapper.deleteById(id);
int i = 1/0;
empMapper.deleteByDept(id);
}

Transaction
- 回滚什么异常

事务传播行为



- 但是 事务的默认值是 required ,insert的事务和delete的事务是一个事务, delete事务回滚insert方法内的操作也会回滚, 因此日志不会插入成功.
- 解决方法是 把insert改成新的事物,
propagation = REQUIRES_NEW, 调用insert时 , 会挂起delete事务, 执行insert事务, 完毕后执行delete事务,delete回滚时insert已经提交了, insert不会回滚.
- 解决方法是 把insert改成新的事物,