<update id="updateDeviceParameters">
<foreach collection="parameters" item="parameter" separator=";">
UPDATE device_parameter_settinginfo
<trim prefix="SET" suffixOverrides=",">
<if test="parameter.measuringItem != null and parameter.measuringItem != ''">measuringItem = #{parameter.measuringItem},</if>
<if test="parameter.parameterName != null and parameter.measuringItem != ''">parameterName = #{parameter.parameterName},</if>
<if test="parameter.parameterValue != null and parameter.measuringItem != ''">parameterValue = #{parameter.parameterValue},</if>
</trim>
WHERE testId = #{testId}
AND deviceId = #{deviceId}
AND parameterName = #{parameter.parameterName}
</foreach>
</update>
mybatis xml 如上:排查时更新长度为1的List成功,大于1时就会报错:
解决方法:
在数据库链接配置中增加:allowMultiQueries=true
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/eeetdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true