Jestem nowicjuszem w mybatis. Próbuję uzyskać identyfikator ostatnio wstawionego rekordu. Moja baza danych MySQL i mój odwzorowujący XML jestUzyskaj identyfikator ostatniego wstawionego rekordu w 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>
Myślałem pisemne oświadczenie o „SELECT LAST_INSERT_ID() jako id” powinien wrócić id ostatniej włożonej płyty, ale jestem coraz zawsze 1 po włożeniu płyty.
Moja klasa mapper.java mam metoda
int insertSelective(FileAttachment record);
W mojej klasie dao Używam
int id = fileAttachmentMapper.insertSelective (fileAttachment);
Otrzymuję wartość Id zawsze 1 po włożeniu nowego rekordu. Moje pole ID jest automatycznie zwiększane i rekordy są wstawiane poprawnie.
thats great jddsantaella ... czy ten wątek jest bezpieczny? – user965884
Nie wiem, ale ufam myBatis, więc powiedziałbym "tak". – jddsantaella
Dobrze .. dzięki Jddsantaella – user965884