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

   <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的属性中。

posted @ 2015-08-23 18:07  耗子搞IT  阅读(268)  评论(0)    收藏  举报