1. 程式人生 > >mybatis replace into用法

mybatis replace into用法


  <insert id="updateOrInsertClientInfo" useGeneratedKeys="true" keyProperty="BM" parameterType="list" >
    replace into bm_kh
    (<include refid="Base_Column_List"/>)
    VALUES
    <foreach collection="list" item="it" separator=",">
    ( #{it.bm},#{it.mc},#{it.jm},
      #{it.sjbm},#{it.kjm},#{it.sh},
      #{it.dzdh},#{it.jwbz},#{it.yhzh},
      #{it.yjdz},#{it.bz},#{it.yskm},
      #{it.dqbm},#{it.dqmc},#{it.dqkm},
      #{it.sfzjy},#{it.wj},#{it.xfsh},
      #{it.xfzfjh}

    )

    </foreach>

  </insert>

replace into 跟 insert 功能類似,不同點在於:replace into 首先嚐試插入資料到表中, 1. 如果發現表中已經有此行資料(根據主鍵或者唯一索引判斷)則先刪除此行資料,然後插入新的資料。 2. 否則,直接插入新資料。

要注意的是:插入資料的表必須有主鍵或者是唯一索引!否則的話,replace into 會直接插入資料,這將導致表中出現重複的資料。