mybatis中useGeneratedKeys和keyProperty的做用

在使用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

相關文章
相關標籤/搜索