Mybatis 批量更新无效字符的错误

使用<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=gif

640?wx_fmt=png


640?wx_fmt=jpeg

640?wx_fmt=png

如有侵权,请联系删除

转载请注明来源

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值