mybatis与mysql插入时返回主键id的值

时间:2021-08-28 04:46:42
   <insert id="insertCharge" parameterType="com.bb.bean.Rechargerecord">
<selectKey keyProperty="id" resultType="java.lang.Integer" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
INSERT INTO rechargeRecord(loginId,loginName,name)
values(#{loginId},#{loginName},#{name})
</insert>

这里的keyProperty="id"中的id要与数据库中的主键名相同,同时记着order="AFTER" 是在获取到id值后再返回。

在插入成功后,要活的id需要从对象Rechargerecord.getId()获得,而不是在

int i= this.insertBySql("Rechargerecord.insertCharge",rechargerecord)返回的i。这里的i始终是返回执行成功的条数。

之前自己以为i会是id的值,结果搞了半天。mybatis自动会将返回的主键set在对象对应的主键id的属性中。