SpringBoot Mybatis事务

application增加注解

@EnableTransactionManagement

service或方法增加注解

@Transactional

这样该方法如果中途异常,则回滚。

默认配置下,spring只有在抛出的异常为运行时unchecked异常时才回滚该事务,也就是抛出的异常为RuntimeException的子类(Errors也会导致事务回滚),而抛出checked异常则不会导致事务回滚。

需要注意的是,直到方法执行完成之前,对数据库的修改并未生效,方法执行完成后,数据库操作才生效。

如果方法中有异步操作,则异步操作里的数据库操作不在事务内,直接生效。

参考:

https://www.cnblogs.com/kangoroo/p/8192503.html

https://blog.csdn.net/wohaqiyi/article/details/72895983

http://www.cnblogs.com/xusir/p/3650522.html

关于checked异常、unchecked异常:

https://blog.csdn.net/qq_14982047/article/details/50989761

发表评论

电子邮件地址不会被公开。 必填项已用*标注