mybatis 批量更新

<update id="batchAddStock" parameterType="java.util.List">
<foreach collection="list" item="item" open="begin" close=";end;" separator=";">
update xx_product set stock=nvl(stock,0)+${item.QUANTITY} where ID=${item.PRODUCT}
</foreach>
</update>

之前使用批量提交时候,一直报无效的字符问题,排查了很久,后面查明了是因为close 没写对,原来写成close="end;"  在end之前少了;,所以mybatis一直报错,后面添加上去后,就可以了,只是批量提交返回回来的行数一直都是-1;

之前错误信息:

### SQL: update xx_product set stock=stock+1 where ID=50103 ; update xx_product set stock=stock+1 where ID=3663686 ;
### Cause: java.sql.SQLException: ORA-00911: 无效字符

原文地址:https://www.cnblogs.com/yewg/p/5393466.html