java – MyBatis 3.0.1插入问题

前端之家收集整理的这篇文章主要介绍了java – MyBatis 3.0.1插入问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
决定将我的一个项目从iBatis移到MyBatis并遇到插入问题.

mapper xml:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="bap.persistance.interfaces.ArticleMapper">
  5. <insert id="insertTestA">
  6. insert into test_a ( cookie ) values( 'tomek pilot');
  7. </insert>
  8. </mapper>

mapper java文件

  1. public interface ArticleMapper {
  2. void insertTestA();
  3. }

映射器实现:

  1. String resource = "bap/persistance/MyBatis_xml/MyBatisConfig.xml";
  2.  
  3. ....
  4.  
  5. ...
  6. public void createArticle( Article article ) throws IOException {
  7. Reader reader = Resources.getResourceAsReader(resource);
  8. sqlSessionFactory sqlSessionFactory =
  9. new sqlSessionFactoryBuilder().build(reader);
  10. sqlSession session = sqlSessionFactory.openSession();
  11.  
  12. try{
  13. ArticleMapper mapper = session.getMapper(ArticleMapper.class);
  14. mapper.insertTestA();
  15. } catch( Exception e ){
  16. e.printStackTrace();
  17. } finally{
  18. session.close();
  19. }
  20. return article.getId();
  21. }
  22. ...
  23.  
  24. ... line omitted for brevity.

使用中的表格:

  1. CREATE TABLE test_a
  2. (
  3. cookie text
  4. )
  5. WITH (OIDS=FALSE);

我正在尝试使用mybatis 3.0.1,spring 3.0.3,postgresql 8.3(使用postgresql-8.4-701.jdbc3.jar)运行它

我相信所有样板设置都已正确设置(我可以对另一个表执行精选.

我手动测试了inser并且它工作得很好(插入test_a(cookie)值(‘some stuff’);)

由于某种原因插入不执行,没有堆栈跟踪显示:-(

任何提示将非常感激:-)

解决方法

您没有提交您的交易.尝试添加“session.commit()”.

猜你在找的Java相关文章