异常描述: java
Cause: java.sql.SQLException: sql injection violation, syntax error: web
异常信息:sql
SQL:spa
<insert id="addFloorGoods" parameterType="Map"> INSERT INTO home_floor_goods( floor_code, sku_code, display_sequence, website_code) VALUES <foreach collection="array" item="code" separator=","> (#{code.floorCode}, #{code.itemSkuCode}, (SELECT IFNULL(a.sum,1) FROM ( SELECT (MAX(display_sequence) + 1) sum FROM home_floor_goods) a) #{websiteCode}) </foreach> </insert>
SQL问题:code
少写了一个 , blog
<insert id="addFloorGoods" parameterType="Map"> INSERT INTO home_floor_goods( floor_code, sku_code, display_sequence, website_code) VALUES <foreach collection="array" item="code" separator=","> (#{code.floorCode}, #{code.itemSkuCode}, (SELECT IFNULL(a.sum,1) FROM ( SELECT (MAX(display_sequence) + 1) sum FROM home_floor_goods) a), #{websiteCode}) </foreach> </insert>
总结:it
出现这种报错,检查思路io
1. 检查出错的地方,字符是否正确或者多写或者少写了字符class
2.若是没有找到,手动书写一遍foreach
3. 考虑关键字是否冲突