mybatis多条sql的事物提交问题

阳光_shenke 2017-08-15 10:33:37
做级联新增时,为了方便在mapper中一次性执行两个insert语句如下:

插入数据正常。
现在的问题是假如插入出错,如何回滚,配置文件中的事物已经配了没有效果,配置如下:
...全文
1079 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Helios丶 2019-05-11
  • 打赏
  • 举报
回复
拿到Connection,在业务代码中的catch代码块中使用connection.rollback();
学java不容易 2017-08-17
  • 打赏
  • 举报
回复
引用 4 楼 qq_35850412 的回复:
如果按照二楼的说法,在配置文件中配置事物注解驱动,在service层添加事物注解吗?
是的
阳光_shenke 2017-08-16
  • 打赏
  • 举报
回复
如果按照二楼的说法,在配置文件中配置事物注解驱动,在service层添加事物注解吗?
阳光_shenke 2017-08-16
  • 打赏
  • 举报
回复
1楼说的我觉得有道理,但如果我就想使用这种方式例如在mapper中一次执行多条sql,请问这种方式我想控制事物应该如何做呢
清风文人 2017-08-15
  • 打赏
  • 举报
回复
没错 只要没配置错理论上是这样的 不过你也可以在dao层方法上加上@Transactional 注解 来添加你想要有事务的方法
肥仔湉 2017-08-15
  • 打赏
  • 举报
回复
如果我理解错了,烦请各位大神指正哈!
事务的提交、回滚这些是根据你在aop:config那里配的路径来的。你是配置了service包下的所有类下的所有方法,那么mybatis的事务管理是在这个区域生效的。例如,你在service里的一个方法里面调用了多个dao的方法,只要有一个出错,其他的也会进行回滚,但是如果在一个dao方法里面直接执行两条sql,我觉得事务管理是不起作用的。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧