错误:
mybatis plus foreach 批量插入没问题 改成update,一直报错,sql拷贝出来单独执行又没问题
原因:
insert语句支持批量,可以写在一条语句:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...), (value1,value2,value3,...), (value1,value2,value3,...), (value1,value2,value3,...), (value1,value2,value3,...),(value1,value2,value3,...);
update 不支持批量,循环批量的时候对应多个语句
update table set c1=v1;
update table set c1=v2;
update table set c1=v3;
.
.
.
update table set c1=v...;
mybatis 默认不支持一次执行多条语句(多个分号)
解决:
数据库连接增加allowMultiQueries=true参数
allowMultiQueries=true作用:
1.可以在sql语句后携带分号,实现多语句执行
2.可以执行批处理,同时发出多个SQL语句