public class MyBatisTest {
public SqlSessionFactory sqlSessionFactory;/
@BeforeEach
public void initSqlSessionFactory() throws IOException{
String resource = "config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory= new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testInsert() {
//获取和数据库的一次会话
SqlSession openSession=sqlSessionFactory.openSession();
try {
EmployeeDao employeeDao = openSession.getMapper(EmployeeDao.class);
int i = employeeDao.insertEmployee(new Employee(null,"tomcat" ,"tomcat@163.com", 0));
System.out.println(i);
} finally {
//手动提交
openSession.close();
}
}
}
xml文件都是最普通的,,为啥提交了呢,想不通,究极纠结
你这个设置了吗? setAutocommit(false)?没设置的话默认是true的自动提交的;
设置成false 然后再commit手动提交;
你没写关闭默认提交,所以会自动提交事务。
默认就是自动提交的,你想按事务处理,需要手动设置
在单元测试中,是自动默认提交的,
你可以看看这个设置