当前位置: 首页>后端>正文

spring事务管理中,用try-catch处理了异常,事务也会回滚?

http://runxinzhi.com/c-Ajing-p-13448350.html

我们知道在平时的开发中,如果在事务方法中开发人员自己用try-catch处理了异常,那么spring aop就捕获不到异常信息,从而会导致spring不能对事务方法正确的进行管理,不能及时回滚错误信息。

下面用代码演示一下:

@Override@Transactional(rollbackFor=Exception.class)publicintdoSaveUser()throwsException{intresult=0;UserEntity u=newUserEntity();u.setUserSex("男");u.setUserName("AAA");try{result=userMapper.insertUser(u);inti=1/0;}catch(Exceptione){e.printStackTrace();}returnresult;}

spring事务管理中,用try-catch处理了异常,事务也会回滚?,第1张

数据库:

可以看到程序虽然报错了,但是事务并没有回滚,这就是由于我们自己处理了异常信息。

可是,只要是我们自己处理了异常,事务就一定不会回滚吗?答案是不一定的,下面用两段代码对比一下:


https://www.xamrdz.com/backend/34p1942841.html

相关文章: