批量操作
- 批量插入
<insert id="insertList" parameterType="java.util.List">
INSERT INTO TABLE(EID, EITIME, EUTIME, COLUMN1, COLUMN2, COLUMN3, COLUMN4)
SELECT SEQ_ID.nextval eid , t.* FROM(
<foreach collection="list" item="item" separator="union all">
select sysdate eitime,
sysdate eutime,
#{item.column1} column1,
#{item.column2} column2,
#{item.column3} column3,
#{item.column4} column4
from dual
</foreach>
) t
</insert>
报错:Error Msg = ORA-00923: 未找到要求的 FROM 关键字
- 有一行逗号忘记加了
报错:Cause: org.apache.ibatis.binding.BindingException: Parameter 'bizDate' not found. Available parameters are [collection, list]
- item.column1中的item没加
- 批量更新
<update id="updateList" parameterType="java.util.List">
<foreach collection="list" index="index" open="begin" close="end;" item="org">
UPDATE TABLE
<set>
EUTIME = sysdate,
<if test="org.column1 != null"> COLUMN1 = #{org.column1},</if>
</set>
WHERE EID = #{org.eid};
</foreach>
</update>