首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyBatis 3.0.1插入问题

MyBatis 3.0.1插入问题
EN

Stack Overflow用户
提问于 2010-06-24 05:57:56
回答 1查看 7.9K关注 0票数 8

我决定将我的一个项目从iBatis移动到MyBatis,但在插入时遇到了问题。

映射器xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"    
                 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="bap.persistance.interfaces.ArticleMapper">
 <insert id="insertTestA">
  insert into test_a ( cookie ) values( 'tomek pilot');
 </insert>
</mapper>

mapper java文件:

代码语言:javascript
复制
public interface ArticleMapper {
 void insertTestA();
}

映射器实现:

代码语言:javascript
复制
String resource = "bap/persistance/MyBatis_xml/MyBatisConfig.xml";

....

... 
public void createArticle( Article article ) throws IOException {
  Reader reader = Resources.getResourceAsReader(resource);
  SqlSessionFactory sqlSessionFactory = 
          new SqlSessionFactoryBuilder().build(reader);
  SqlSession session = sqlSessionFactory.openSession();

  try{
   ArticleMapper mapper = session.getMapper(ArticleMapper.class);
   mapper.insertTestA();
  } catch( Exception e ){
   e.printStackTrace();
  } finally{
   session.close();
  }
  return article.getId();
 }
...

... line omitted for brevity.

正在使用的表:

代码语言:javascript
复制
    CREATE TABLE test_a
(
  cookie text
)
WITH (OIDS=FALSE);

我试着用mybatis 3.0.1,spring 3.0.3,postgresql 8.3 (使用postgresql-8.4-701.jdbc3.jar )来运行它。

我相信所有的样板设置都是正确设置的(我可以对另一个表执行select。

我手动测试了inser,它工作得很好( insert into test_a ( cookie ) values( 'some stuff'); )

由于某些原因,insert不会执行,也不会显示堆栈跟踪:-(

如有任何提示,将不胜感激:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-24 06:22:02

你没有提交你的事务。尝试添加"session.commit()“。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3105876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档