在使用mybatis时,经常会出现这种需求:
当主键是自增的状况下,添加一条记录的同时,其主键是不能使用的,可是有时咱们须要该主键,这时咱们该如何处理呢?这时咱们只须要在其对应xml中加入如下属性便可:
useGeneratedKeys="true" keyProperty="对应的主键的对象"。java
以下例:数据库
<!-- 主要是在主键是自增的状况下,添加成功后能够直接使用主键值,其中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)。mybatis