spring+mybatis事务管理
我想在一个方法中,在方法未结算前,提交我更新的数据到数据库。这个如何做到呢?
比如下面
public void method(){
updatesomthing();
doOtherSomthing();
}
我希望updatesomthing方法执行完,就提交事务而不是等到method方法执行完才提交事务,请问怎么做?请输入代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
先跟题主确定一下,你的目的是提交事务,还是让 updateSomething() 的 Sql 先执行掉。因为我有过类似的需求,所以会这样推测。
提交事务
如果是提交事务,那需要先得到事务的控制权,手动控制事务。
spring 事务的话可以通过注入或 getBean 的方式拿到 transactionManager。就是 xml 中类似如下配置的 bean:
代码可以类似这样:
先执行部分SQL
如果是先执行部分 SQL 不提交的倒没必要这么麻烦。一种简便的方法就是随便执行条 select 语句就可以了:)。这样虽然事务没提交但是之前的SQL是会先执行的。
这个SQL可以是这样:
用 Mybatis 接口的话可以是这样:
当然了,这种算黑科技 ^ ^ 。如果有更优雅简便的方法请与我分享。