MyBatis自动提交问题

问题

关于这个mybatis的自动提交和手动提交问题,在这个学期,自己做数据库项目时,就遇到过,当时可能比较急,没有顺手把这个问题记录下来,结果今晚写东西的时候再次遇到了(躲得了初一,躲不过十五),还好我脑子里还有点印象,大体知道问题所在,现在赶紧记录下来,防止出现类似错误。

问题描述

大体意思是:假设我要往一个user表里插入一个新用户 eclipse(或idea)上显示插入没问题,可是打开mysql查看,就是没插入进去。这里就涉及到Mybatis修改数据的提交问题。

开启自动提交

去看MyBatis的源代码可以发现 openSession() 方法有带参数为 autoCommit 的布尔值,也就是是否自动提交可以手动控制的。

当openSession(true),即括号内为true的时候,mybaits是可以自动提交修改后的数据的,这样上面提到的问题就会解决

当openSession(),即括号内为空(或false),为手动提交,需要最后调用 session.commit() 来完成数据更新操作。

0%