決定將我的一個項目從iBatis移到MyBatis,並遇到插入問題。MyBatis 3.0.1插入問題
XML映射:
<?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>
映射器的Java文件:
public interface ArticleMapper {
void insertTestA();
}
映射實現:
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.
表中使用:
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');
)
出於某種原因插入不執行和不具有堆棧跟蹤顯示了:-(
任何提示將是最讚賞: - )
...有人會爲'MyBatis'創建標籤嗎?我只是沒有聲望做到這一點;-) – vector 2010-06-23 22:44:13
偏離主題我知道,但我不得不推薦mybatis guice插件,它減少了鍋爐板代碼併爲您管理SQL會話。它岩石! http://code.google.com/p/mybatis/wiki/Guice – Andy 2011-03-04 00:33:36