saveOrUpdate

来源:互联网 发布:java银行支付接口开发 编辑:程序博客网 时间:2024/06/04 01:25
<insert id="saveOrUpdate" parameterType="com.laiwei.lwiot.service.module.device.model.DeviceDataValue" >
INSERT INTO dm_device_realtime_data (device_id,param_id,last_value,quality,last_update_time)
values
(#{deviceId,javaType=String, jdbcType=VARCHAR},
#{paramId,javaType=String, jdbcType=VARCHAR},
#{lastValue,javaType=Double, jdbcType=DOUBLE},
#{quality,javaType=Integer, jdbcType=INTEGER},
#{lastUpdateTime, javaType=Date, jdbcType=TIMESTAMP}
)
ON DUPLICATE KEY
UPDATE
last_value =#{lastValue,javaType=Double, jdbcType=DOUBLE},
quality=#{quality,javaType=Integer, jdbcType=INTEGER},
last_update_time = #{lastUpdateTime, javaType=Date, jdbcType=TIMESTAMP}
</insert>


<insert id="saveOrUpdateForMultipleDevice" parameterType="java.util.List" >
INSERT INTO dm_device_realtime_data (device_id,param_id,last_value,quality,last_update_time)
values
<foreach collection="list" separator="," item="model">
(#{model.deviceId,javaType=String, jdbcType=VARCHAR},
#{model.paramId,javaType=String, jdbcType=VARCHAR},
#{model.lastValue,javaType=Double, jdbcType=DOUBLE},
#{model.quality,javaType=Integer, jdbcType=INTEGER},
#{model.lastUpdateTime, javaType=Date, jdbcType=TIMESTAMP})


</foreach>
ON DUPLICATE KEY
UPDATE last_value = VALUES(last_value),quality=VALUES(quality),last_update_time=VALUES(last_update_time)
</insert>