J'ai décidé de déplacer un de mes projets d'iBatis vers MyBatis et j'ai rencontré un problème avec insertion.Problème d'insertion de MyBatis 3.0.1
mappeur 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>
fichier mappeur java:
public interface ArticleMapper {
void insertTestA();
}
mise en œuvre de cartographe:
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.
la table en cours d'utilisation:
CREATE TABLE test_a
(
cookie text
)
WITH (OIDS=FALSE);
Je suis en train de courir avec cette mybatis 3.0.1, 3.0.3 printemps, postgresql 8.3 (en utilisant postgresql-8.4-701.jdbc3.jar)
Je crois que tous les réglages de passe-partout est correctement configuré (je peux exécuter une sélection sur une autre table.
J'ai testé la Inser manuellement et il fonctionne très bien (insert into test_a (cookie) values('some stuff');
)
Pour une raison quelconque l'insert n'exécute pas et aucune trace de la pile apparaît :-(
Tous les conseils seront les plus appréciés: -
... Quelqu'un aurait-il l'amabilité de créer un tag pour 'MyBatis'? Je n'ai pas la réputation de le faire ;-) – vector
hors sujet Je sais, mais je dois recommander le plugin mybatis guice, il réduit le code plaque de la chaudière et gère la session SQL pour vous. Ça berce !! http://code.google.com/p/mybatis/wiki/Guice – Andy