使用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-->sqlSession
private 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);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)