对于Mybatis的批量插入List<Map<String,String>>数据在mysql下可使用如下语法:
<insert id="insertHiddenDanger" parameterType="java.util.List">
insert into INS_TASK_DANGER
(dangerid,taskid)
values
<foreach collection="list" item="policy_no" index="index" separator=",">
(SEQ_INS_TASK_DANGER_DANGERID.NEXTVAL,
#{item.taskId}
)
</foreach>
</insert>
以上语法在oracle数据库环境下并不支持,所以要修改为如下语法:
<insert id="insertHiddenDanger" parameterType="java.util.List">
begin
<foreach collection="list" item="item" index="index" separator=";">
INSERT INTO INS_TASK_DANGER
(dangerid,taskid)
values
(SEQ_INS_TASK_DANGER_DANGERID.NEXTVAL,
#{item.taskId}
)
</foreach>
;end;
</insert>