首页 新闻 搜索 专区 学院

求助,springboot+mybatis+sqlserver事务无法回滚!!!

0
悬赏园豆:20 [待解决问题]

springboot mybatis sqlserver 事务无法回滚

控制台提示如下

明明已经加入了事务管理,抛出异常还是不会回滚

13:58:03.061 [http-nio-9000-exec-15] INFO c.n.c.u.d.DynamicDataSourceContextHolder - [setDataSourceType,26] - 切换到SQLSERVER_ERP数据源
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8]
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@595277fa] will be managed by Spring
SQL提示巴拉巴拉
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8]
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8] from current transaction
SQL提示巴拉巴拉
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8]
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8] from current transaction
执行插入sql,插入后执行 int a = 1/0;
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8]
Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8]
Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a38ece8]

搜了很多帖子,这里正常应该是事务回滚的提示,可我这里没有
13:58:03.313 [http-nio-9000-exec-15] ERROR c.n.f.e.GlobalExceptionHandler - [notFount,64] - 运行时异常:
java.lang.ArithmeticException: / by zero
at com.nbpt.yygs.service.hkhxkh.impl.YygsHkhxServiceImpl.excuteUpdateAndInsert(YygsHkhxServiceImpl.java:274)
at com.nbpt.yygs.service.hkhxkh.impl.YygsHkhxServiceImpl.hexiao(YygsHkhxServiceImpl.java:245)
at com.nbpt.yygs.service.hkhxkh.impl.YygsHkhxServiceImpl.ywyzidonghexiao(YygsHkhxServiceImpl.java:84)

码上有瘾的主页 码上有瘾 | 初学一级 | 园豆:182
提问于:2020-02-27 08:22
< >
分享
所有回答(1)
0

说明事物没有生效。
检查一下:
1.事物扫描的包路径是否正确。
2.检查一下,注解是否正确:@Transactional 和 @EnableAutoConfiguration

参考:https://www.cnblogs.com/wxc-xiaohuang/p/9471971.html

Beyond-bit | 园豆:2804 (老鸟四级) | 2020-02-27 17:39

扫描的包是什么意思呢?我现在是不报错的话SQL可以正常执行的,但是SQL如果执行失败了 事务不会回滚

支持(0) 反对(0) GESEASON | 园豆:200 (初学一级) | 2020-05-06 09:17

还想问一下 事务是不是要在同一个mapper里的方法才有效,如果是不同mapper的方法 用在同一个service中应该也能被回滚吧

支持(0) 反对(0) GESEASON | 园豆:200 (初学一级) | 2020-05-06 09:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册