我在使用mybatis批量更新mysql数据库的时候,更新不了,我怀疑是集合没有传进foreach

我在使用mybatis批量更新mysql数据库的时候,更新不了,我怀疑是集合没有传进foreach但是list里面确实有值


UPDATE tb_ml3_operate_center
SET
retutn_fee_money = retutn_fee_money + #{it.totalFee},
return_fee_total_money = return_fee_total_money + #{it.totalFee}
WHERE id = #{it.centerId}


可以先试着一组数据进行操作,断点看看,是哪的问题,代码的问题还是sql链接的问题

这是批量更新? 没看出来 。。。 难道楼主是 多个update联起来的? 想楼上说的这有可能不是数据问题而是连接问题!!!!

你这批量更新,我服了```````````````````````你这根本就是利用foreach去直接组装出N个update语句,不过按照你的问题,还应该就是数据取得有问题,吧你的foreach的代码也一起贴出来吧


UPDATE tb_ml3_operate_center
SET
retutn_fee_money = retutn_fee_money + #{it.totalFee},
return_fee_total_money = return_fee_total_money + #{it.totalFee}
WHERE id = #{it.centerId}

    <foreach collection="list" item="it" index="index" separator=",">

UPDATE tb_ml3_operate_center
SET
retutn_fee_money = retutn_fee_money + #{it.totalFee},
return_fee_total_money = return_fee_total_money + #{it.totalFee}
WHERE id = #{it.centerId}

整个sql就不能完整的贴出来?

你这个不是批量更新,相当于自己组合一堆SQL一起提交了所以分隔符不能是“,”需要改成 “;”其次需要MySQL支持在数据库连接url增加allowMultiQueries=true