美文网首页
mybatis 手动/自动触发事务回滚

mybatis 手动/自动触发事务回滚

作者: 就叫basi | 来源:发表于2020-01-13 11:29 被阅读0次

有时候我们在service层的某个方法中,得到的不是我们期望的结果,我们就要手动或者自动触发事务回滚

首先要设置@EnableTransactionManagement(springboot开启事务支持的方式),然后要在方法上设置@Transactional

场景1:

  //在if后直接抛一个RuntimeException,让Controller中调用该方法的方法去try/catch,return错误类型等信息
      if (pmConfigMapper.countByExample(pmConfigExample) > 0) throw new  RuntimeException();

场景2:


//手动回滚异常,在service层中
       if (pmConfigMapper.countByExample(pmConfigExample) > 0){
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
       }
           
vans.png

相关文章

  • mybatis 手动/自动触发事务回滚

    有时候我们在service层的某个方法中,得到的不是我们期望的结果,我们就要手动或者自动触发事务回滚 首先要设置@...

  • laravel transaction 数据库事务

    laravel 提供专门的闭包的数据库事务,可以自动回滚事务也可以手动回滚事务

  • java事务手动回滚

    @Transactional注解只有在接收到throw时才会自动回滚,否则需要手动回滚手动回滚方法。@Transa...

  • 事务相关的问题总结

    一、事务回滚问题 二、事务失效问题 三、事务失效的解决办法 方式一:自己手动创建事务,提交事务,回滚事务(Spri...

  • Spring声明式事务(待完善)

    什么是声明式事务 声明式事务让我们不去手动编写事务开启和提交、回滚等代码,而是交给第三放框架自动管理,如Sprin...

  • MyBatis集成到Spring

    使用 MyBatis 的 SqlSession MyBatis 的 提供了执行 SQL 语句、提交或回滚事务和...

  • spring 事务手动回滚

    TransactionAspectSupport.currentTransactionStatus().setRo...

  • junit 单元测试事务自动回滚

    junit 单元测试事务会自动回滚。通过@Rollback(true)注解来实现,默认是true,事务会回滚,可以...

  • SqlSession

    SqlSession SqlSession 是 mybatis 主要执行 sql 命令的接口,控制事务、回滚、缓存...

  • 手动抛出异常,事务回滚

    https://blog.csdn.net/qq_38283331/article/details/7986197...

网友评论

      本文标题:mybatis 手动/自动触发事务回滚

      本文链接:https://www.haomeiwen.com/subject/vwugactx.html