MyBatis使用Insert无法插入解决办法

13,891次阅读
41 条评论

共计 896 个字符,预计需要花费 3 分钟才能阅读完成。

前言

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

解决办法

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

方案一

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

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 进行增删改操作时候就不会出现之前的事务自动回滚问题了。

正文完
使用官方微信小程序体验更多功能
post-qrcode
 12
憧憬Licoy
版权声明:本站原创文章,由 憧憬Licoy 于2017-03-18发表,共计896字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(41 条评论)
旅行者 评论达人 LV.1
2017-05-02 21:04:32 回复

学习了

 Windows  Chrome  中国北京北京市联通
大香蕉 评论达人 LV.1
2017-04-25 22:19:33 回复

汗··没学问就是可怕···看不懂汗

 Windows  Chrome  中国湖南省湘西电信
Koolight 评论达人 LV.3
2017-04-24 23:07:56 回复

膜拜一下,太厉害了,表示看不懂~~ :mrgreen:

 Windows  Chrome  中国江西省南昌市联通
蒸汽回收机 评论达人 LV.1
2017-04-22 10:29:49 回复

感觉挺难的

 Windows  Chrome  中国山东省泰安市联通
老金@金博客 评论达人 LV.1
2017-04-19 14:20:05 回复

学习sql难么?

 Windows  Chrome  中国浙江省宁波市电信
吃货小栈 评论达人 LV.1
2017-04-16 22:36:04 回复

我竟然看成为了MyBasic,囧!
难道我是怀念Basic了!

 Windows  Chrome  中国河南省南阳市电信
    憧憬Licoy 博主
    2017-04-19 18:01:44 回复

    @吃货小栈 没玩过MyBasic 0.0

     Windows  Chrome
      吃货小栈 评论达人 LV.1
      2017-04-21 01:31:24 回复

      @憧憬Licoy 哈哈,那是很久远以前的一种解释型编程语言了!比尔.盖茨小时候很喜欢玩的一种编程语言。现在应该还有,叫Visual Basic好像!

       Windows  Chrome  中国河南省南阳市电信
夏日博客 评论达人 LV.1
2017-04-14 17:29:57 回复

mysql用得最多的就是增删改查了。

 Windows  Chrome  中国北京北京市联通
新民 评论达人 LV.1
2017-03-26 17:10:27 回复

博主,看您的博客很不错,不妨加个友链吧

 Windows  Chrome  中国内蒙古呼和浩特市电信
新民 评论达人 LV.1
2017-03-26 17:09:28 回复

现在一般在公司基本都用的是mybatis +spring mvc ,事务都是交由spring管理的。只需配置一下就可以了

 Windows  Chrome  中国内蒙古呼和浩特市电信

憧憬点滴记忆

公告
Puock是一款基于WordPress开发的高颜值自适应开源主题,支持白天与黑夜模式、无刷新加载等功能。
文章搜索
憧憬点滴记忆
憧憬点滴记忆
Licoy's Blog关注互联网及软件IT技术的个人博客
今日一言
-「
热门文章
《活着》 – 人所体现生命的价值

《活着》 – 人所体现生命的价值

前言 在新年目标中为了定了一个读书计划,计划在 18 年中阅读 20 本各方面的书籍,目前阅读计划已经阅读了两...
Chatroulette-全世界随机视频聊天网站

Chatroulette-全世界随机视频聊天网站

介绍 Chatroulette 被人们叫做“聊天轮盘”是由一个 17 岁俄国高中生创立的随机视频聊天网站。该网...
Puock主题常见问题汇总

Puock主题常见问题汇总

前言 最近经常会收到小伙伴的一些老生常谈过的的问题,鉴于有些小伙伴因为网络原因无法及时访问到 Github 上...
SpringCloud使用Zuul出现“Forwarding error”错误解决方法

SpringCloud使用Zuul出现“Forwarding error”错误解决方法

起因 博主在使用 zuul 的时候,所有的配置都是配置完全了的,但是只要一访问服务就出现 500,然后查看控制...
岛屿数量计算中的DFS和BFS的应用

岛屿数量计算中的DFS和BFS的应用

前言 计算岛屿数量是在由 ’0’ 与 ’1’ 的二维网格中寻找...
最新评论
憧憬Licoy 憧憬Licoy 暂时不做友联申请了
憧憬Licoy 憧憬Licoy 暂时不做友联申请了
YanQS YanQS 名称:YanQS's Blog 网址:https://yanqs.me/
ygtg ygtg 很好 :beer:
ssdfg ssdfg 用户中心太简陋了! :grin:
mp4网 mp4网 申请友链 名称:mp4网 地址:http://mp4wang.cc 描述:多来看看
xf xf 感谢作者的分享
朵朵 朵朵 过来看看
热评文章