mybatis批量执行SQL配置文件如下
<update id="batchUpdateByMethod" parameterType="java.util.List">
<foreach collection="counterPOS" item="item" separator=";">
update counter
<set>
<if test="item.count != null">
count = #{item.count,jdbcType=BIGINT},
</if>
<if test="item.sourceIds != null">
sourceIds = #{item.sourceIds,jdbcType=VARCHAR},
</if>
<if test="item.cost != null">
cost = #{item.cost,jdbcType=BIGINT},
</if>
<if test="item.isDelete != null">
is_delete = #{item.isDelete,jdbcType=TINYINT},
</if>
<if test="item.gmtModified != null">
gmt_modified = #{item.gmtModified,jdbcType=TIMESTAMP},
</if>
</set>
where method = #{item.method,jdbcType=VARCHAR}
and day = #{item.day,jdbcType=DATE}
</foreach>
</update>
SQL执行报错日志
2023-03-10 19:44:07,644 [scheduleExecutor-3] ERROR [c.g.h.r.m.c.LoggerAspectCounter.saveToDB(166)] persistence task failed. time: 8ms.
org.springframework.jdbc.BadSqlGrammarException:
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQ