前言

今天在学习MyBatis的时候,使用select查询语句可以查出结果并准确无误,但是使用insert语句的时候无法插入,因为我使用的是mysql数据库,并且给主键ID设置了自动递增,在每次插入之后自动递增值都会+1,不过数据库就是没有记录,我想应该是数据库事务没有提交的原因导致的。

解决办法

在进行了一些测试之后,果不其然是事务没有自动提交的原因导致回滚而造成的没有插入成功,现提供如下两种解决方案。

方案一

在进行了insert、update、delete等操作之后,在其后进行手动提交事务,例如:

public void addUser(User user) {

SqlSession sqlSession = dbAccess.getSqlSession();

sqlSession.insert("User.addUser",user);

sqlSession.commit();

sqlSession.close();

}

方案二

在MyBatis的SqlSessionFactory中打开一个新的会话时,是可以进行设定是否自动提交事务。

public SqlSession getSqlSession() {

//拿到MyBatis配置文件,获取数据库连接信息

Reader reader = null;

try {

reader = Resources.getResourceAsReader("mybatis-config.xml");

} catch (IOException e) {

e.printStackTrace();

}

//获取到数据库会话工厂SqlSessionFactory

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

//打开一个数据库会话

return sqlSessionFactory.openSession(true);

}

后记

经过如上的操作之后,这时使用MyBatis进行增删改操作时候就不会出现之前的事务自动回滚问题了。

mybatis存在就不插入_MyBatis使用Insert无法插入解决办法相关推荐

  1. mybatis 添加语句返回对象_mybatis的insert语句插入数据时的返回值的实现

    mybatis的insert语句插入数据时的返回值的实现,语句,返回值,那条,都是,站长站 mybatis的insert语句插入数据时的返回值的实现 易采站长站,站长之家为您整理了mybatis的in ...

  2. java insert语句_mybatis的insert语句插入数据时的返回值的实现

    mybatis的sql语句一般是配置在配置文件中,现先给出一个例子, sqlMap.xml文件中的一条插入语句: insert into A(a, b, c, d) VALUE (#a#, #b#, ...

  3. mysql 插入缓冲_innodb insert buffer 插入缓冲区的理解

    今天在做一个大业务的数据删除时,看到下面的性能曲线图 在删除动作开始之后,insert buffer 大小增加到140.对于这些状态参数的说明 InnoDB Insert Buffer 插入缓冲,并不 ...

  4. visio图中包含公式,插入word后公式模糊终极解决办法

    最近被毕业论文支配,各种无力,visio图中包含公式,插入word中公式变得很模糊,根本不能用,网上各种找解决办法都没用,最后无意中一位网友道出了真相 终极解决办法 是visio版本问题,我用的vis ...

  5. 目标版插入模块驱动时出现version magic 与 驱动模块插入成功但是不能卸载的解决办法

    PC机上编译好驱动模块 例如test.ko,在嵌入式板上insmod test.ko 时出现以下错误 [ 9809.344824] test: version magic '3.10.14 preem ...

  6. mybatis jdbcType的作用,无效的列类型错误解决办法

    在使用mybatis时,我们可以指定jdbcType,对jdbcType一直有疑惑,有时候可以不加,有时候不加又会报错,网上对于jdbcType的解释也不是很全面,或者可能就是错的,今天专门研究了下, ...

  7. jsp mysql 乱码_jsp插入mysql数据库后乱码的解决办法

    jsp 页面用下面3句语句来保证是gbk 编码 数据库连接用如下语句 String sConnStr ="jdbc:mysql://localhost:3306/test?user=mich ...

  8. MyBatis,动态传入表名,字段名的解决办法

    http://luoyu-ds.iteye.com/blog/1517607 今天做项目,遇到的问题就是需求修改数据表的记录,而且字段名都不是固定的,也就是说是需要通过参数传入的, 本来这也不是什么难 ...

  9. 联想Y50耳机插入耳机孔后没有声音解决办法

    症状:博主本子Y50,前阵子关机时,提示win10要下载更新并安装,开机后发现将耳机插入耳机孔后死活听不到声音(笔记本自带的音响有声音).期间怀疑过耳机坏了的问题,检查过耳机在手机上能正常播放声音.最 ...

最新文章

  1. 中国电子学会图形化四级编程题:绘制雪花
  2. 面试官:你写的单例模式有空指针异常,请你用Volatile改一下。我愣了五分钟...
  3. 使用VScode开发ESP8266,PlatformIO开发ESP8266
  4. java获取执行时间
  5. 00600 ora 关闭oracle_ORA-00600的解决方法?
  6. Yii2 restful 分页支持
  7. ortools解决tsp_ortools系列:路由问题1
  8. JS实现sleep()方法
  9. SAP Spartacus里的StorefrontConfig静态类型
  10. 使用PHP应用查询SAP HANA Express Edition里的数据
  11. 单片机按键软硬件设计技巧!
  12. sqlserver注释巧清理
  13. Java读取HTML传人文件,java读取html文件并获取body中所有的标签及内容的案例.pdf
  14. 5-17 汉诺塔的非递归实现 (25分)
  15. 家里网络连不上outlook_家里OUTLOOK上不了如何处理--
  16. 联发科MT6750/MT6750T芯片处理器哪个性能比较好?区别在哪?
  17. 服务器装机选哪个系统好,服务器该装08系统好还是03系统好?
  18. 蓝桥杯 2016-9 取球博弈
  19. activiti+app+mysql_SpringBoot Activiti6系列教程(一)-activiti-app部署
  20. 实时音视频通信(RTC)中必须要了解的三种关键算法

热门文章

  1. 为日语视频识别生成中文字幕的免费且快速简单的解决方案
  2. 抓住晨会驱动【目标管理】
  3. 32g内存电脑跑虚拟机服务器,使用32G内存的电脑是什么样的体验?
  4. Oracle PL / SQL – CEIL函数示例
  5. 河南理工大学python挂科率_河南理工大学新闻网
  6. go入门笔记二(数据类型及转换、指针)
  7. 王者荣耀角色注销后我的服务器列表怎么删除,如何注销已经玩过的王者荣耀创建的角色?...
  8. html中a href /a的用法
  9. Docker 是什么
  10. ESP32一键配网------smartconfig