springboot如何开启事务
1.Spring boot是默认启动事务的,只需要在(service层中添加)类或者⽅法上添加注解即可(很简单呢!)
a.类上⾯
b.⽅法上
如果事务不⽣效可能有以下原因
1、⾸先要看数据库引擎是否⽀持注解,mysql默认引擎INNODB是⽀持的,但MYISAM是不⽀持的;
2、注解只能被应⽤到public⽅法上, 其它⽅法上不会报错,但不⽣效;
3、默认情况下只会对运⾏期异常(java.lang.RuntimeException及其⼦类)和 Error 进⾏回滚;
4、如果是其它异常,可以显形标记在参数⾥,下图标红的就是先进⾏查看⽤户有指定的异常,如果没有,就默认上⼀条的异常,参数格式:@Transactional(rollbackFor={Exception.class})
5、是否进⾏了异常捕获,如果使⽤了try--catch,事务是肯定不⽣效,也就是系统没有接收到异常场景;
关于使⽤异常捕获,还想事务⽣效,可以有⼏种策略解决相关难题:
1)⼿动回滚,推荐⽅式
2)在catch⾥抛出⼀个runntimeException
3)  将异常写⼊注解参数⾥⾯,也需要抛出来,原理跟⽅法2⼀样的,只是重新指定了事务回滚的异常类型
springframework事务————————————————
版权声明:本⽂为CSDN博主「sailor125」的原创⽂章,遵循CC 4.0 BY-SA版权协议
原⽂链接:blog.csdn/sailor125/java/article/details/90610927

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。