Mybatis 向oracle批量插入与更新数据

插入

<insert id="batchSave" parameterType="java.util.List">
        INSERT INTO T_UPLOAD_CELL_DATA (CELL_SN, PRODUCT_SN, TEST_DATE,
        VOLTAGE_VALUE)
        SELECT A.*
        FROM(
        <foreach collection="list" item="item" index="index"
            separator="UNION ALL">
            SELECT
            #{item.cellSn} CELL_SN,
            #{item.productSn} PRODUCT_SN,
            #{item.testDate} TEST_DATE,
            #{item.voltageValue} VOLTAGE_VALUE
            FROM
            dual
        </foreach>
        )A
</insert>

更新

<update id="batchUpdate" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" open="begin"
            close=";end;" separator=";">
            update T_UPLOAD_CELL_DATA t
            set
            t.PRODUCT_SN=#{item.productSn},
            t.TEST_DATE=#{item.testDate},
            t.VOLTAGE_VALUE=#{item.voltageValue}
            where t.CELL_SN = #{item.cellSn}
        </foreach>
</update>
原文地址:https://www.cnblogs.com/guxia/p/8709268.html