如上图代码没错,运行也没错,本来应该添加一条数据的但是数据并没有更新啊!
!!!我想起来了,每次进行增删改之后都应该提交事务啊,于是我在sqlSession.close();的上面加了一条 sqlSession.commit();
可是又报错了!!!意思大概是重复插入了id=9的这一行,我看了一眼数据库,竟然插入成功了???我寻思着我就点了测试运行一遍啊,为啥会说重复插入? 查了查资料,终于找到了解决办法了。
org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '7' for key 'user.PRIMARY'
### The error may exist in com/itcase/dao/UserMapper.xml
### The error may involve com.itcase.dao.UserMapper.insertUser-Inline
### The error occurred while setting parameters
### SQL: insert into db3.user values (?,?,?)
### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '7' for key 'user.PRIMARY'
解决办法:
因为我点的是@Test运行 ,Maven不知道为啥会自动测试两边??有没有人能解释下。。。。
然后我点开setting,把下面的箭头画勾,意思就是跳过测试。
然后就不会报错了,也能执行成功,就是不能用Maven直接运行测试单元了。。。。