mybatis中中写多个update语句,和分开写多个有啥区别?

BigQiu66 2016-05-23 03:39:01
例如:
<update id="updateByPrimary" >
update 1 .....;
update 2......;
update 3......;
</update >

<update id="updateByPrimary1" >
update 1 .....;
</update >
<update id="updateByPrimary2" >
update 2......;
</update >
<update id="updateByPrimary3" >
update 3......;
</update >

这两种有啥区别?第一种自带事务控制嘛?
...全文
6268 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
拾月拾玖 2019-11-26
  • 打赏
  • 举报
回复
这个是没有区别的吧,唯一的区别就是代码可读性
qq_32570523 2017-09-25
  • 打赏
  • 举报
回复
第一种也没有事务的
zjcxc 2017-09-25
  • 打赏
  • 举报
回复
general_log 打开,看下 mysql 收到的 sql 有什么差别
BigQiu66 2016-05-26
  • 打赏
  • 举报
回复
引用 2 楼 gikod 的回复:
[quote=引用 1 楼 rucypli 的回复:] <update id="updateByPrimary" > update 1 .....; update 2......; update 3......; </update > 在第三条写一个非法sql 看看之前两个是否回滚
这是TX控制的问题,比如Spring的TX之类负责,即使写在多个完全不相干的处理中,只要是一个TX控制下,该回滚还是要回滚,与ibatis写法没有关系吧。[/quote] 有实验过嘛? 我感觉第二种写法不会有事务了,如果spring没有加上事务控制的话
gikod 2016-05-24
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
<update id="updateByPrimary" > update 1 .....; update 2......; update 3......; </update > 在第三条写一个非法sql 看看之前两个是否回滚
这是TX控制的问题,比如Spring的TX之类负责,即使写在多个完全不相干的处理中,只要是一个TX控制下,该回滚还是要回滚,与ibatis写法没有关系吧。
rucypli 2016-05-24
  • 打赏
  • 举报
回复
<update id="updateByPrimary" > update 1 .....; update 2......; update 3......; </update > 在第三条写一个非法sql 看看之前两个是否回滚

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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