Oracle使用foreach批量操作数据

新增:

<insert id="insertElement" parameterType="java.util.List">
    INSERT INTO TABLENAME(FIELD1, FIELD2, FIELD3)
    <foreach collection="list" item="item" separator="UNION ALL" >
        SELECT
        #{item.FIELD1},
        #{item.FIELD2},
        #{item.FIELD3}
        FROM DUAL
    </foreach>
<insert>

修改

<update id="updateElement" parameterType="java.util.List">
    <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
        UPDATE TABLENAME
        <set>
            NUMBERS =#{item.numbers}
        </set>
        WHERE ID= #{item.id} AND TYPE= #{item.type}
    </foreach>
</update>

删除

<delete id="deleteUnitClass" parameterType="String">
    DELETE FROM SYS_UNIT_CLASS WHERE CLASS_CODE IN
    <foreach collection="list" item="item" index="no"
             open="(" separator="," close=")">
        #{item}
    </foreach>
</delete>

参考链接:https://www.csdn.net/gather_24/MtTaMg4sNzQwMS1ibG9n.html

    

原文地址:https://www.cnblogs.com/steveshao/p/12966166.html