这里是原代码,看着一点毛病没有,异常内容里的sql虽然有很多空格,但是考到数据库执行也没问题,但程序执行就是报错:
<insert id="insertExcelData" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="guideOrderId">
insert IGNORE into shopping_guide_order
(order_no, child_order_no, statistics_date, excel_id, excel_local_url)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.orderNo},#{item.childOrderNo},#{item.statisticsDate},#{item.excelId},#{item.excelLocalUrl})
</foreach>
</insert>
这个一直没找到原因,干脆就把所有要执行的内容放到一行里凑合用了,放到一行里执行是没问题的,就是查看不太方便:
<insert id="insertExcelData" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="guideOrderId">
insert IGNORE into shopping_guide_order (order_no, child_order_no, statistics_date, excel_id, excel_local_url) values <foreach collection="list" item="item" index="index" separator=",">(#{item.orderNo},#{item.childOrderNo},#{item.statisticsDate},#{item.excelId},#{item.excelLocalUrl})</foreach>
</insert>