關於mybatis的批量處理xml映射方法

myabtis的批量插入一般寫法

<insert id="insertBatch" parameterType="java.util.List">
        insert into attachment_table (account,password,nickname)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (
                #{item.account,jdbcType=VARCHAR}, 
                #{item.password,jdbcType=VARCHAR},
                #{item.nickname,jdbcType=VARCHAR}
            )
        </foreach>
</insert>

mybatis的批量修改一般寫法

<update id="updateBatch" parameterType="java.util.List">
    update attachment_table
    <trim prefix="set" suffixOverrides=",">
        <trim prefix="account =case" suffix="end,">
            <foreach collection="list" item="item" index="index">
              when id=#{item.id} then #{item.account } 
            </foreach>
        </trim>
        <trim prefix="password=case" suffix="end,">
            <foreach collection="list" item="item" index="index">
              when id=#{item.id} then #{item.password} 
            </foreach>
        </trim>
        <trim prefix="nickname =case" suffix="end,">
            <foreach collection="list" item="item" index="index">
              when id=#{item.id} then #{item.nickname} 
            </foreach>
        </trim>
    </trim>
    where id in
    <foreach collection="list" index="index" item="item"
             separator="," open="(" close=")">
      #{item.id,jdbcType=BIGINT}
    </foreach>
  </update>

mybatis批量查詢一般寫法

<select id="findList" parameterType="java.util.List">
        select
        from attachment_table
        <where>
            1=1
            and id in
            <foreach collection="list" item="item" open="(" separator="," close=")">
                #{item,jdbcType=BIGINT}
            </foreach>
        </where>
</select>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章