Soy un novato en mybatis. Estoy tratando de obtener la identificación del último registro insertado. Mi base de datos es MySQL y mi asignador XML esObtener la identificación del último registro insertado en mybatis
<insert id="insertSelective" parameterType="com.mycom.myproject.db.mybatis.model.FileAttachment" >
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT LAST_INSERT_ID() as id
</selectKey>
insert into fileAttachment
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="name != null" >
name,
</if>
<if test="attachmentFileSize != null" >
size,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="attachmentFileSize != null" >
#{attachmentFileSize,jdbcType=INTEGER},
</if>
</trim>
</insert>
pensé declaración escrita aquí 'SELECT LAST_INSERT_ID() como el ID' debe devolver id del último registro insertado pero yo estoy haciendo siempre 1 después de insertar el disco.
Mi clase mapper.java tengo método
int insertSelective(FileAttachment record);
En mi clase DAO estoy usando
int id = fileAttachmentMapper.insertSelective (fileAttachment);
estoy recibiendo valor de Id siempre 1 cuando se inserta el nuevo registro. mi campo Id se incrementa automáticamente y los registros se están insertando correctamente.
eso es genial jddsantaella ... ¿este subproceso es seguro? – user965884
No lo sé, pero confío en myBatis así que diría que sí. – jddsantaella
Bueno ... gracias Jddsantaella – user965884