社区
Web 开发
帖子详情
mybatis多条sql的事物提交问题
阳光_shenke
2017-08-15 10:33:37
做级联新增时,为了方便在mapper中一次性执行两个insert语句如下:
插入数据正常。
现在的问题是假如插入出错,如何回滚,配置文件中的事物已经配了没有效果,配置如下:
...全文
1079
6
打赏
收藏
mybatis多条sql的事物提交问题
做级联新增时,为了方便在mapper中一次性执行两个insert语句如下: 插入数据正常。 现在的问题是假如插入出错,如何回滚,配置文件中的事物已经配了没有效果,配置如下:
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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,我觉得事务管理是不起作用的。
MyBatis
中的
SQL
支持同一个标签中写
多条
sql
语句
MyBatis
中的
SQL
支持同一个标签中写
多条
sql
语句 最近在开发中遇到了需要同时更新多个表的操作,考虑到性能
问题
肯定不可能去多次链接数据库。那么此时就可以用到
Mybatis
的这种一个标签中写
多条
sql
语句的特性了,并且只会链接一次数据库。 举例: <update> update A表 set xx=xx where xx=#{xx}; update B表 set xx=xx where xx=#{xx}; </update>
sql
语句正常写就好,每句
sql
之间用分号做间隔
MyBatis
一次执行
多条
SQL
语句的操作
Role role = new Role("游客");
Mybatis
同时执行
多条
SQL
在数据库连接文件的url地址后面增加allowMultiQueries=true https://blog.csdn.net/lyc_liyanchao/article/details/83382970
Mybatis
:传参+
提交
事务(自动or手动)+
sql
多表关联查询(两种方法)
参数两种类型: 1.#{参数}:预编译方式,更安全,只用于向
sql
中传值; 2.${参数}:将参数直接拼接到
sql
中 ,主要用来动态的向
sql
中传列名。
提交
事务 由于
mybatis
默认是关闭事务自动
提交
的,如果进行了数据库的insert、update、delete操作,修改了数据库,必须必须调用
sql
Session.commit()方法,手动
提交
。 自动
提交
: 将openSession方法中参数值改为true——sessionFactory.openSession(true);
【
MyBatis
系列3】
MyBatis
SQL
执行流程
主要讲解
MyBatis
中
SQL
的执行流程,基于
MyBatis
的基础知识进行更深层次的剖析。 前言 在《【
MyBatis
系列1】基础知识(上)》中,我们讲解了MyBaits的工作原理,以及它的四大核心组件的使用姿势,包括
Sql
SessionFactoryBuilder、
Sql
SessionFactory、
Sql
Session和
SQL
Mapper。在《【
MyBatis
系列1】基础知识(下)》中,通过完整的MayBatis使用示例,详细讲解了
MyBatis
的XML配置文件。 所以在阅读该文章前,...
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章