Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MyBatis, como obter a chave gerada automaticamente de uma inserção? [MySql]


Para mim está funcionando assim (mybatis 3.x) .. O id deve ser definido como incremento automático na tabela mysql
<insert id="createEmpty" parameterType="Project" useGeneratedKeys="true" keyProperty="project.projectId" keyColumn="PROJECT_ID">
    INSERT INTO PROJECT (TITLE,DESCRIPTION)
    VALUES
    (#{title},#{description})
</insert>

OBSERVAÇÃO keyProperty="project.projectId" e useGeneratedKeys="true"

minha interface é:
public int createEmpty(@Param("project") Project project, @Param("title") String title,
    @Param("description") String description);

finalmente para obter o valor (que será atribuído automaticamente à propriedade id do pojo) eu uso:
projectRepository.createEmpty(p, "one", "two");
System.err.print(p.getProjectId() + "\n");