使用<foreach></foreach> 批量insert时报错 ORA-00911: 无效字符的错误
<foreach collection="list" item="item" index="index" separator=";"> insert into table1 (column1) values (#{item.num})
</foreach>
Mybatis 会打印的sql语句如下,并且报错
insert into table1(column1) values (11) ; insert table1(column1) values (12)
上述语句是合法的SQL语句,并且放到SQL工具中可以执行。错误的原因是Mybatis不能识别这是批量操作的2条语句,紧靠;号不能完成
解决办法: 增加foreach节点的操作符
使用如下设置
<foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
</foreach>
新打印的SQL将会如下所示:
begin insert into table1(column1) values (11) ; insert table1(column1) values (12) ;end;
后台回复加群可加入编程序学习交流群
后台回复视频可加免费领取各种视频
后台回复书籍真多可加免费领取电子书
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/eb87eba65c9c0fe3b92693fef4d4839c.png)
如有侵权,请联系删除
转载请注明来源