Spring boot 事务回滚异常

spring boot 事务的使用:

可以在类上加注解:

也就是启动 类上加:

@EnableTransactionManagement

事务需要回滚的方法上加注解:

@Transactional

如果事务不回滚,可以手动回滚  也就是在 catch 里面加入代码完成手动回滚:

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

注意几点:

1、serviceImpl   方法必须public  不然可能事务失效

2、尽量在 impl  里面try  catch 里面使用事务

3、表  引擎 使用:InnoDB

4、catch 如果在controller 中 使用 exception 来捕获异常,并且在controller 中来使用事务的话可能不会回滚

因为全被Exception 这个异常捕获并吞掉,导致spring异常抛出触发事务回滚策略失效。

扫描二维码关注公众号,回复: 6146793 查看本文章

5、事务最好使用在 service 里面使用,不要在controller 中

猜你喜欢

转载自blog.csdn.net/qq_39930369/article/details/86494261