sql >> Base de Datos >  >> RDS >> Mysql

MyBatis, ¿cómo obtener la clave generada automáticamente de un inserto? [MySql]

Para mí, funciona así (mybatis 3.x) ... La identificación debe establecerse en incremento automático en la tabla mysql

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

NOTA keyProperty="project.projectId" y useGeneratedKeys="true"

mi interfaz es:

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

finalmente, para obtener el valor (que se asignará automáticamente a la propiedad de identificación del pojo), uso:

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