Mybatis中useGeneratedKeys和keyProperty的作用

转载:https://www.cnblogs.com/smart-hwt/archive/2017/12/28/8136188.html

在使用mybatis时,常常会出现这种需求:

当主键是自增的情况下,添加一条记录的同时,其主键是不能使用的,但是有时我们需要该主键,这时我们该如何处理呢?这时我们只需要在其对应xml中加入以下属性即可:

useGeneratedKeys=“true” keyProperty=“对应的主键的对象”。
如下例:


<!--   主要是在主键是自增的情况下,添加成功后可以直接使用主键值,其中keyProperty的值是对象的属性值不是数据库表中的字段名-->   
 <insert id="saveMsg" parameterType="cn.com.hyddl.smarthome.notice.core.nano.Notice" useGeneratedKeys="true" keyProperty="msgId">    
     insert into notice(msg_type,title,content,rec_time,send_time,user_id,deleted,viewed)        
     values(#{msgType,jdbcType=INTEGER},
     #{title,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR},#{recTime,jdbcType=BIGINT},#{sendTime,jdbcType=BIGINT},
     #{userId,jdbcType=VARCHAR},#{deleted,jdbcType=TINYINT},#{viewed,jdbcType=INTEGER})
 </insert>

这样在之后的java代码中我们就可以获取该主键对应的对象的属性值(msgId)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值