您的位置:首页 > 编程语言 > Java开发

mysql事务管理及spring声明式事务中主动异常抛出使数据库回滚

2018-01-25 09:58 417 查看
mysql的引擎常用的有两个,一个MyISAM,另一个是InnoDB,mysql默认的为MyISAM,而InnoDB才是支持事务的。所以一般需要修改下,如何修改就不说了。

事务需要依赖数据库,好久没使用声明式事务,今天试了下。关键配置如下。

  事务配置好之后再service中手动抛了个exception,结果没有回滚,service方法如下

  跟着断点一步步进去查看原因


TransactionAspectSupport中发现这样一个方法


  上面的方法中有这么一段

DefaultTransactionAttribute中的rollbackOn方法


  看到这里,应该都清楚了。。。自己主动抛异常Exception是不对的。这里只捕获运行时异常

转载自:https://www.cnblogs.com/wanglonghai/p/4866512.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: