Sono novizio di mybatis. Sto cercando di ottenere l'id dell'ultimo record inserito. Il mio database è MySQL e il mio mapper XML èOttieni l'ID dell'ultimo record inserito in 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>
ho pensato dichiarazione scritta qui 'SELECT LAST_INSERT_ID() come id' dovrebbe restituire id dell'ultimo record inserito, ma sto ottenendo sempre 1 dopo aver inserito il record.
La mia classe mapper.java Ho metodo
int insertSelective(FileAttachment record);
Nella mia classe dao sto usando
int id = fileAttachmentMapper.insertSelective (fileAttachment);
Ricevo il valore di Id sempre 1 quando si inserisce un nuovo record. il mio campo ID è incrementato automaticamente e i record si stanno inserendo correttamente.
thats great jddsantaella ... questo thread è sicuro? – user965884
Non lo so, ma mi fido di myBatis, quindi direi di si. – jddsantaella
Bene .. grazie Jddsantaella – user965884