我正在使用MyBatis(DB为MySQL)使用update语句修改记录,我想返回更新实体,有什么方法可以获取更新实体或主键来查询更新实体吗?这是我的更新声明:
<update id="updateForFreeSeat" parameterType="com.sportswin.soa.red.envelop.model.entity.RoomSeat">
update r_room_seat
set status = 1
where room_id = #{roomId,jdbcType=BIGINT}
order by room_play_id desc
limit 1
</update>
我只是使用这种方法读取插入返回选择pk:
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT LAST_INSERT_ID()
</selectKey>
如何更新?
答案 0 :(得分:1)
根据mybatis documentation,您可以使用useGeneratedKeys
进行更新和插入。
假设您要返回的字段和属性命名为id
,您可以这样操作:
<update id="updateForFreeSeat"
parameterType="com.sportswin.soa.red.envelop.model.entity.RoomSeat"
useGeneratedKeys="true"
keyProperty="id">
update r_room_seat
set status = 1
where room_id = #{roomId,jdbcType=BIGINT}
order by room_play_id desc
limit 1
</update>