Mybatis 批量增删改查

批量新增:

<insert id="batchInsert" parameterType="com.aaa.bbb.ccc">
        insert into 表 (1,2,3,4,5)
        values
        <foreach collection="list" item="item" index="index" separator="," >
            (#{item.1},#{item.2},#{item.3},#{item.4},#{item.5})
        </foreach>
    </insert>

批量修改:

 <update id="batchUpdate" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
           表名
            <set>
                <if test="item.1 != null">
                    1 = #{item.1},
                </if>
                <if test="item.2 != null">
                    2 = #{item.2},
                </if>
                <if test="item.3 != null">
                    3 = #{item.3},
                </if>
                <if test="item.4 != null">
                    4 = #{item.4},
                </if>
                time = NOW()
            </set>
           id = ${item.id}
         </foreach>
     </update>
<update id="batchDelete">
    表名
    set
    nmd_is_del = -1,
    nmd_recode_time = now(),
    nmd_recodor = #{nmdRecodor,jdbcType=VARCHAR}
    where nmd_id in
    <foreach collection="list" open="(" close=")" separator="," item="item">
      #{item,jdbcType=INTEGER}
    </foreach>
  </update>

批量删除:

<delete id="batchDeleteRecord" parameterType="java.lang.String">
        DELETE FROM  s_key_record  WHERE key_record_id IN
        <foreach collection="list" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

批量查询:

<select id="batchSelect" parameterType="java.util.List" resultType="java.lang.Integer">
 select 1,2,3
    from 表
    where  id in
    <foreach collection="list" close=")" open="(" separator="," item="item">
       #{item,jdbcType=INTEGER}
    </foreach>
</select>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容