最近拾起后台代码,才发现好多东西都忘了,碰到了个小问题,使用mybatis添加数据的时候,没有报错,然而刷新数据库的时候也并没有得到新插入的数据。
最后找到问题的原因是:
1.数据库定义的int类型的主键,没有设置成auto-increment,自动增长。
这是一个问题所在,但是设置之后,依然没有效果,觉得还有其他的地方没找到。
2.查了查jdbc相关资料,才发现跟它的事物有关,原来jdbc提供了两种事物处理,一种自动提交,一种手动
提交,它默认是自动提交的,使用jdbc执行单条sql的时候不需要手动提交。但是当jdbc托管于mybatis的时候,
我们需要手动提交一下。
@Override public void addTreeNode(Tree tree) { System.out.println(tree.toString()); SqlSession sqlSession =(SqlSession) this.getSqlSessionFactory().openSession(); sqlSession.insert("com.chenqk.springmvc.entity.Tree.addTreeNode", tree); sqlSession.commit(); }这样问题就解决了。