开发者社区> 问答> 正文

spring mybatis 如果回滚不抛异常 - java报错

"

项目中,需要自己根据逻辑进行手动回滚,使用的spring+mybatis注解事物管理

进行手动回滚时调用了

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

这样子是可用做到随时控制回滚,但是问题来了

我们进行回滚的时候,代表我们的本次事物是无效的,我们需要告诉前端为什么,而不是直接抛一个异常出来给前端;而且我可能有N中情况需要进行回滚,就需要有N种应答回给前端

现在求一个答案:如何在手动调用上面那句回滚代码后,不抛异常给前端,而且返回我们设置的return的内容

"

展开
收起
montos 2020-06-03 20:31:25 1160 0
1 条回答
写回答
取消 提交回答
  • 自定义一个异常类,并设置两个属性code和msg,继承runtimeexception,回滚的时候抛出这个异常类并set好信息,上层捕获,取值,即可######

    使用了SpringMVC了吗 ?如果使用了就配置一个全局异常拦截器,在异常拦截器里面做处理~

    ######

    手动回滚,抛异常,然后全局异常捕捉,返回

    ######

    抛一个自定义异常类回去!

    2020-06-03 20:41:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载