MyBatis插入时返回主键值

8 篇文章 0 订阅

前几天做项目时需要插入商品后得到数据库中的主键ID值,  于是查了一些资料, 在此记录

 

添加记录能够返回主键的关键点在于需要在<insert>标签中添加以下三个属性

<insert useGeneratedKeys="true" keyProperty="id" keyColumn="id"></insert>

useGeneratedKeys:表示主键id为自增长模式,  必须设置为true,否则无法获取到主键id
keyProperty:设置为POJO对象的主键id属性名称
keyColumn:设置为数据库记录的主键id字段名称 (这个可以省略)
新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段设置为POJO对象的主键id属性

<update id="updateByPrimaryKey" useGeneratedKeys="true" keyProperty="goodid" parameterType="com.qc2.entitys.Good" >
    update good
    set sellerId = #{sellerid,jdbcType=BIGINT},
      stock = #{stock,jdbcType=BIGINT},
      name = #{name,jdbcType=VARCHAR},
      price = #{price,jdbcType=DECIMAL},
      image = #{image,jdbcType=VARCHAR},
      postage = #{postage,jdbcType=DECIMAL},
      introduction = #{introduction,jdbcType=VARCHAR}
    where goodId = #{goodid,jdbcType=BIGINT}
</update>

keyProperty表示返回的id要保存到对象的那个属性中,这里的名字要和对象的字段名对应上(否则keyColumn设置不能省略)。

mysql的话只要加上这两个属性就可以了,加上后会自动把主键set到插入对象的属性上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值