Spring中使用@Transactional注解不能实现Mqsql数据rollback

如果你是用的是maven项目,同时使用的test包下单元测试方法不是java包下的单元测试方法就可以往下看了。
我遇到的问题是在test包下单元测试方法中出现异常使用@Transactional注解的函数不能实现rollback。
错误代码:其中账户A的money字段的值减了100,但是账户B的money字段的值没有加100,
在service层的updateAccountByTransfer中增加产生一个by zero异常作为实验。
Spring中使用@Transactional注解不能实现Mqsql数据rollback_第1张图片
定义在test包下的单元测试方法
Spring中使用@Transactional注解不能实现Mqsql数据rollback_第2张图片
以上方式是不能实现的,之后那我去IDEA中的sql控制台入测试数据回滚是正常的,说明我的数据库配置是没有问题,之后就只能是java代码的问题了。
Spring中使用@Transactional注解不能实现Mqsql数据rollback_第3张图片
之后我就在java包下写单元测试方法进行测试和main方法测试,是成功的
Spring中使用@Transactional注解不能实现Mqsql数据rollback_第4张图片

你可能感兴趣的:(java,java,spring,maven,mysql)