xml中的语句如下;
<update id="batchUpdateAnnotationTaskImage" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" separator=";"> UPDATE tabel <set> <if test="item.annotationStatus != null"> annotation_status = #{annotationTaskImage.annotationStatus}, </if> <if test="item.cocoContext != null"> coco_context = #{annotationTaskImage.cocoContext}, </if> <if test="item.isValid != null"> is_valid = #{annotationTaskImage.isValid}, </if> </set> WHERE id = #{item.id} </foreach>; </update>
在更新一天数据时,可以正常更新。当批量更新的数据超过一条后,报错如下,
多次查看sql拼写,拼写没有任何问题。
最后发现是,连接数据库配置问题,需要在连接数据的url上加上如下配置:
allowMultiQueries=true
这个参数的含义如下:
这个参数通常用于JDBC驱动程序支持在一个SQL语句中执行多个查询。它允许在单个数据库调用中执行多个独立的查询,以提高性能。