错误写法:
INSERT INTO table (id, a, b) values <foreach collection="lists" close=")" open="(" index="i" item="item" separator=","> #{item.id}, #{item.a}, #{item.b} </foreach>
正确写法:注意括号位置
INSERT INTO table(id, a, b) values <foreach collection="lists" index="i" item="item" separator=","> <!--注意括号位置--> ( #{item.id}, #{item.a}, #{item.b} ) </foreach>
错误sql:
INSERT INTO table(id, name, value) values ( ?,?,?,?,?,?) 整个括号括起来了
正确的sql:
INSERT INTO table(id, name, value) values ( ?,?,?),(?,?,?)
发现写法错误,open 和close 不应该写括号,open和close是在整个的前后加内容 而不是 循环的每个迭代