mybatis用 foreach 分批量插入 insert

作者在处理文件上传时遇到SQL错误,源于配置文件中的foreach语法错误和缺少allowMultiQueries设置。该错误导致不能正确执行多语句和批处理。修正后的配置解决了问题,承诺会继续分享此类技术难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先这个是我插入时,后台所报的错误,这里我用的是文件上传,为了减少消耗数据库性能,将数据分批段去插入,然后在xml中遇到这个问题。

这是我的xml中错误的sql:

其中貌似看着没什么问题,因为开始的时候用的是原有的添加语句,直接copy过来的,所以也没有多想,忽略了其中的细节问题。

错误原因:在配置文件中少了下面的那个sql多语句执行的语句,foreach 位置写错,以及结束符号为分号。

这是改完正确的sql:

在这种批量处理多个sql的时候需要在配置文件中数据库连接语句中加入 :

allowMultiQueries=true

这个语句主要作用是:

1.可以在sql语句后携带分号,实现多语句执行。

2.可以执行批处理,同时发出多个SQL语句。

此次碰到的就是这个问题,后续有问题会持续记录并分享的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值