事务管理员
在入门案例里面需要在transfer上加上一个事务,该方法里面会调用数据层的两个操作又会分别开启两个事务T1和T2
加上一个开启事务的注解会将范围内的所有事务
事务角色
- 事务管理员:发起事务方,在Spring中通常代指业务层开启事务的方法
- 事务协调员:加入事务方,在Spring中通常代指数据层方法,也可以是业务层方法
注意点:
在mybatisconfig和jdbcconfig中都使用到了datasource,并且使用的是同一个,操作能成功就是因为它们通过相同的数据源进行管理
事务属性:
事务相关配置
下列配置项都可以在事务的注解上开启
重点是rollbackFor,并不是什么异常都需要回滚
下面的除数为0异常需要回滚
比如下面这个异常就不会回滚然后导致事务失败
设置异常回滚
案例:转账业务追加日志
好累啊,不想写了
事务传播行为:事务协调员对事物管理员所携带事物的处理态度
使用下面的属性可以在原本装到一起的事务单独开一个新的事务
在上面这个案例中,业务层有三个操作对应的三个事务会合成一个,如果不使用下面这个属性会导致出现异常时一起回滚,结果日志就只会记录转账成功的操作