原sql:
<select id="queryList" parameterType="java.util.List" >
insert into table1(column1,column2,column3,column4,column5)
(
<foreach collection="list" index="index" item="item" separator="union all" >
select
#{item.column1},
#{item.column2},
#{item.column3},
#{item.column4},
#{item.column5}
from dual
</foreach>
)
</select>
主要分析两点可能的原因:
1、检查传的参数是否是list,parameterType是否为java.util.List。
2、检查foreach遍历的item是否有为空的参数,我遇到的就是这种情况导致的。