【mybatis】mybatis JDBC事务细节

mybatis事务操作细节,没有贴源码,请自行查看
摘要由CSDN通过智能技术生成

一、JDBC事务铺垫

    在JDBC事务操作中,conn.commit()和conn.setAutocommit(true)拥有相同的数据库操作效果,都会提交事务持久化对数据库的更改,这一点随便写个JDBC基本操作的demo就能够得到验证。


二、mybatis DQL

    查看mybatis openSession的源码,除非传入boolean autoCommit=true,否则默认都是false。

    因此mybatis的事务机制,无论是查询还是增删改,默认都会执行conn.setAutocommit(false),这句话会导致数据库关闭自动提交和开启事务(基本的JDBC demo已验证);在SqlSession关闭的时候会conn.setAutocommit(true),这里会提交事务。在使用基本的mybatis query的时候,最后是需要关闭SqlSession,如果忘记了这一步,在连接池机制下,会造成事务泄露,也就是说conn没有关闭,但是conn的事务一直没有提交。


三、mybatis DML

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值