之前讲MyBatis没有说SqlSessionFactory.openSession()需要传递autocommit=false的参数

之前讲MyBatis没有说SqlSessionFactory.openSession()需要传递autocommit=false的参数

​之前讲MyBatis没有说SqlSessionFactory.openSession()需要传递autocommit=false的参数,但是执行写操作后还是要commit,这里又要加

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2021-04-21 16:46:16

同学你好,1、openSession()有多个方法,可以传递参数也可以不进行传递。如下所示:所以可以进场传递参数。

http://img1.sycdn.imooc.com//climg/607fe5d5093e440905370247.jpg

2、openSession()的可选参数代表是否自动提交,这里设置为false是代表关闭自动提交,即改为手动提交。所以需要通过commit()方法进行提交。

注:开启手动提交事务必须执行COMMIT命令才会提交。

祝学习愉快!

  • 提问者 阿君的猫 #1

    之前mybatis哪里没有关闭自动提交,但是也用了commit

    2021-04-21 22:31:51
  • 好帮手慕小尤 回复 提问者 阿君的猫 #2

    同学你好,Mybatis的SqlSession默认是不自动提交事务的,所以需要使用到commit。

    祝学习愉快!

    2021-04-22 09:57:51
  • 提问者 阿君的猫 回复 好帮手慕小尤 #3

    好的,明白了

    2021-04-22 14:05:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师