Mybatis 事物回滚最简单的操作方式

Posted hzb462606

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis 事物回滚最简单的操作方式相关的知识,希望对你有一定的参考价值。

简单例子

//假设这是一个service类的片段

try 
    //出现异常
 catch (Exception e) 
            e.printStackTrace();
           //设置手动回滚
            TransactionAspectSupport.currentTransactionStatus()
                    .setRollbackOnly();
        
//此时return语句能够执行
return  xxx;

重点:当我们需要在事务控制的service层类中使用try catch 去捕获异常后,就会使事务控制失效,因为该类的异常并没有抛出,就不是触发事务管理机制。怎样才能即使用try catch去捕获异常,而又让出现异常后spring回滚呢,这里就要用到TransactionAspectSupport类进行事务回滚

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

 

以上是关于Mybatis 事物回滚最简单的操作方式的主要内容,如果未能解决你的问题,请参考以下文章

集成Spring事物管理

springboot.springboot用最简单的方式整合mybatis

MyBatis实现Mysql数据库分库分表操作和总结

spring的事务

MySQL事务回滚

spring 嵌套事务问题