使用Mybatis插入数据到Mysql数据库时,程序运行没有报错但是数据并没有插入。
public void testSave() throws Exception{
User user=new User();
user.setUsername("mybatis saveUser");
user.setAddress("上海市奉贤区");
user.setSex("M");
user.setBirthday(new Date());
userDao = sqlSession.getMapper(IUserDao.class);
//执行保存方法
userDao.saveUser(user);
}
查看运行结果:
Rolling back JDBC Connection [com.mysql.jdbc.JDBC4Connection@3dfc5fb8]
这是因为事务没有提交。
在代码段后添加提交事务代码:
public void testSave() throws Exception{
User user=new User();
user.setUsername("mybatis saveUser");
user.setAddress("上海市奉贤区");
user.setSex("M");
user.setBirthday(new Date());
userDao = sqlSession.getMapper(IUserDao.class);
//执行保存方法
userDao.saveUser(user);
//保存事务
sqlSession.commit();//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!添加!!!
}
或者使用工厂生产sqlSession时赋值为true
sqlSession = factory.openSession(true);
此时程序插入数据正常: