本文主要是介绍使用mybatis在测试类中往数据库插入数据但是表里没有数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
标题使用mybatis在测试类中往数据库插入数据但是表里没有数据的原因
测试完之后控制台输出正确但是表里没有数据
- 原因:没有提交事务,
- 解决方法1:在sqlsession.close()之前加入sql.commit()语句
问题解决 - 解决方法2:定义一个Mybatis工具类,在工具类中定义一个静态方法,返回的方法参数中设为true
工具类如下:
package com.zhang.util;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;
import java.io.InputStream;public class MybatisUtil {//sqlSessionFactory-->sqlSessionprivate static SqlSessionFactory sqlSessionFactory;static {try {//使用mybatis第一步:获取sqlSessionFactory对象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}public static SqlSession getSession(){return sqlSessionFactory.openSession(true);}}
这篇关于使用mybatis在测试类中往数据库插入数据但是表里没有数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!