Spring Boot + Mybatis Plus中事务笔记
使用第一种方法(省略了操作数据库的代码)操作Mybatis Plus的事务,若出现异常进入catch之后,不会执行数据库操作的回滚,反而会报No transaction aspect-managed TransactionStatus in scope的错误,修改为第二种可以正常进行事务管理和回滚
看到一个关于此情况的解释:
@Transactional 必须触发aop代理才能生效,故非public方法,不执行事务,public方法在本类中被引用,也不执行事务
第一种方法:
@PostMapping("/save1")
public boolean action01() {
return action00();
}
@PostMapping("/save2")
public boolean action02() {
return action00();
}
@

本文探讨了在Spring Boot结合Mybatis Plus时遇到的事务管理问题,包括两种不同方法的尝试。第一种方法在出现异常时不执行事务回滚,并抛出'No transaction aspect-managed TransactionStatus in scope'的错误。而第二种方法则能正常实现事务管理和回滚。关键在于@Transactional注解必须配合AOP代理才能生效,因此非public方法或在本类内部调用的public方法不会执行事务。

2949

被折叠的 条评论
为什么被折叠?



