spring mybatis 如果回滚不抛异常

太黑_thj 发布于 2018/11/01 14:53
阅读 119
收藏 0

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

进行手动回滚时调用了

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

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

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

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

加载中
1
小99
小99
自定义一个异常类,并设置两个属性code和msg,继承runtimeexception,回滚的时候抛出这个异常类并set好信息,上层捕获,取值,即可
0
salvinlee
salvinlee

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

0
G7
G7

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

0
独孤晓林

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

返回顶部
顶部