Mybatis自动提交失败:Setting autocommit to false on JDBC Connection

Posted GaoYang-笔迹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis自动提交失败:Setting autocommit to false on JDBC Connection相关的知识,希望对你有一定的参考价值。

报错:


今天在使用Mybatis进行添加数据的时候,发现自己的SQL语句没有问题!但是数据就是添加不到数据库?经过一番搜索发现,Mybatis默认情况下开启的是手动提交, 我们需要开启自动提交!

方法:

  1. 使用SqlSession对象调用commit()方法;
@Before
public  void init() throws Exception 
        input = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input);
        sqlSession =factory.openSession();
        userDao = sqlSession.getMapper(IUserDao.class);
        sqlSession.commit();
    
  1. openSession()方法里加上 true参数
@Before
    public  void init() throws Exception 
        input = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input);
        sqlSession =factory.openSession(true);
        userDao = sqlSession.getMapper(IUserDao.class);
    

以上是关于Mybatis自动提交失败:Setting autocommit to false on JDBC Connection的主要内容,如果未能解决你的问题,请参考以下文章

mybatis中autoCommit自动提交事务

springboot 整合 mybatis dao一直自动注入失败

Mybatis -- Mybatis相应API(SqlSessionFactoryBuilderSqlSessionFactory(可以设置自动提交事务)SqlSession)

Mybatis中在关闭连接之前为什么要设置自动提交为true?

zTree第二章,各种常见setting设置和方法

mybatis的setting