Mysql
 sql >> Base de données >  >> RDS >> Mysql

MyBatis, comment récupérer la clé auto générée d'un insert ? [MySql]

Pour moi, cela fonctionne comme ceci (mybatis 3.x) .. L'id doit être défini sur l'incrémentation automatique dans la table mysql

<insert id="createEmpty" parameterType="Project" useGeneratedKeys="true" keyProperty="project.projectId" keyColumn="PROJECT_ID">
    INSERT INTO PROJECT (TITLE,DESCRIPTION)
    VALUES
    (#{title},#{description})
</insert>

REMARQUE keyProperty="project.projectId" et useGeneratedKeys="true"

mon interface est :

public int createEmpty(@Param("project") Project project, @Param("title") String title,
    @Param("description") String description);

enfin pour obtenir la valeur (qui sera automatiquement assignée à la propriété id du pojo) j'utilise :

projectRepository.createEmpty(p, "one", "two");
System.err.print(p.getProjectId() + "\n");