<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.laiwei.lwiot.service.module.scene.dao.SceneHealthStatusDAO" >
<resultMap type="com.laiwei.lwiot.service.module.scene.model.SceneHealthStatusQo" id="baseResultMap">
<result column="scene_id" property="sceneId"/>
<collection property="deviceHealthStatusQoList" ofType="DeviceHealthStatusQo">
<result column="param_id" property="paramId"/>
<result column="warning_type" property="warningType"/>
</collection>
</resultMap>
<resultMap type="com.laiwei.lwiot.service.module.scene.model.SceneHealthStatus" id="sceneHealthStatusMap">
<result column="scene_id" property="sceneId"/>
<result column="alarm_sum_time" property="alarmSumSeconds"/>
<result column="alarm_red_num" property="alarmRedNum"/>
<result column="alarm_yellow_num" property="alarmYellowNum"/>
<result column="alarm_green_num" property="alarmGreenNum"/>
<result column="health_percent" property="healthPercent"/>
<result column="lastfullhealth_time" property="lastFullHealthTime"/>
</resultMap>
<select id="getSceneHealthStatus" resultMap="sceneHealthStatusMap">
SELECT
scene_id,
alarm_sum_time,
alarm_red_num,
alarm_yellow_num,
alarm_green_num,
health_percent,
lastfullhealth_time
FROM
sm_health_status
</select>
<insert id="saveorUpdateSceneHealthStatus" parameterType="java.util.List">
INSERT INTO sm_health_status
(scene_id,alarm_sum_time,alarm_red_num,alarm_yellow_num,alarm_green_num,health_percent,lastfullhealth_time)
VALUES
<foreach collection="list" separator="," item="model">
(#{model.sceneId,javaType=String, jdbcType=VARCHAR},
#{model.alarmSumSeconds,javaType=Long, jdbcType=BIGINT},
#{model.alarmRedNum,javaType=Integer, jdbcType=INTEGER},
#{model.alarmYellowNum,javaType=Integer, jdbcType=INTEGER},
#{model.alarmGreenNum,javaType=Integer, jdbcType=INTEGER},
#{model.healthPercent,javaType=Double, jdbcType=DOUBLE},
#{model.lastFullHealthTime, javaType=Date, jdbcType=TIMESTAMP})
</foreach>
ON DUPLICATE KEY
UPDATE scene_id=VALUES(scene_id),alarm_sum_time=VALUES(alarm_sum_time),alarm_red_num=VALUES(alarm_red_num),
alarm_yellow_num=VALUES (alarm_yellow_num),alarm_green_num=VALUES (alarm_green_num),
health_percent=VALUES (health_percent),lastfullhealth_time=VALUES (lastfullhealth_time)
</insert>
<select id="getSceneHealthStatusQo" resultMap="baseResultMap">
SELECT
*
FROM
sm_device_param sdp
INNER JOIN dm_health_status dhs ON sdp.param_id = dhs.param_id
</select>
</mapper>
@Repository
public class SceneHealthStatusDAO extends BaseDAO<SceneHealthStatusQo,String>{
public int saveorUpdateSceneHealthStatus(List<SceneHealthStatus> sceneHealthStatusesList) {
return this.save("saveorUpdateSceneHealthStatus",sceneHealthStatusesList);
}
public List<SceneHealthStatus> getSceneHealthStatus() {
return this.getList("getSceneHealthStatus");
}
public List<SceneHealthStatusQo> getSceneHealthStatusQo() {
return this.getList("getSceneHealthStatusQo");
}
}
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.laiwei.lwiot.service.module.scene.dao.SceneHealthStatusDAO" >
<resultMap type="com.laiwei.lwiot.service.module.scene.model.SceneHealthStatusQo" id="baseResultMap">
<result column="scene_id" property="sceneId"/>
<collection property="deviceHealthStatusQoList" ofType="DeviceHealthStatusQo">
<result column="param_id" property="paramId"/>
<result column="warning_type" property="warningType"/>
</collection>
</resultMap>
<resultMap type="com.laiwei.lwiot.service.module.scene.model.SceneHealthStatus" id="sceneHealthStatusMap">
<result column="scene_id" property="sceneId"/>
<result column="alarm_sum_time" property="alarmSumSeconds"/>
<result column="alarm_red_num" property="alarmRedNum"/>
<result column="alarm_yellow_num" property="alarmYellowNum"/>
<result column="alarm_green_num" property="alarmGreenNum"/>
<result column="health_percent" property="healthPercent"/>
<result column="lastfullhealth_time" property="lastFullHealthTime"/>
</resultMap>
<select id="getSceneHealthStatus" resultMap="sceneHealthStatusMap">
SELECT
scene_id,
alarm_sum_time,
alarm_red_num,
alarm_yellow_num,
alarm_green_num,
health_percent,
lastfullhealth_time
FROM
sm_health_status
</select>
<insert id="saveorUpdateSceneHealthStatus" parameterType="java.util.List">
INSERT INTO sm_health_status
(scene_id,alarm_sum_time,alarm_red_num,alarm_yellow_num,alarm_green_num,health_percent,lastfullhealth_time)
VALUES
<foreach collection="list" separator="," item="model">
(#{model.sceneId,javaType=String, jdbcType=VARCHAR},
#{model.alarmSumSeconds,javaType=Long, jdbcType=BIGINT},
#{model.alarmRedNum,javaType=Integer, jdbcType=INTEGER},
#{model.alarmYellowNum,javaType=Integer, jdbcType=INTEGER},
#{model.alarmGreenNum,javaType=Integer, jdbcType=INTEGER},
#{model.healthPercent,javaType=Double, jdbcType=DOUBLE},
#{model.lastFullHealthTime, javaType=Date, jdbcType=TIMESTAMP})
</foreach>
ON DUPLICATE KEY
UPDATE scene_id=VALUES(scene_id),alarm_sum_time=VALUES(alarm_sum_time),alarm_red_num=VALUES(alarm_red_num),
alarm_yellow_num=VALUES (alarm_yellow_num),alarm_green_num=VALUES (alarm_green_num),
health_percent=VALUES (health_percent),lastfullhealth_time=VALUES (lastfullhealth_time)
</insert>
<select id="getSceneHealthStatusQo" resultMap="baseResultMap">
SELECT
*
FROM
sm_device_param sdp
INNER JOIN dm_health_status dhs ON sdp.param_id = dhs.param_id
</select>
</mapper>
@Repository
public class SceneHealthStatusDAO extends BaseDAO<SceneHealthStatusQo,String>{
public int saveorUpdateSceneHealthStatus(List<SceneHealthStatus> sceneHealthStatusesList) {
return this.save("saveorUpdateSceneHealthStatus",sceneHealthStatusesList);
}
public List<SceneHealthStatus> getSceneHealthStatus() {
return this.getList("getSceneHealthStatus");
}
public List<SceneHealthStatusQo> getSceneHealthStatusQo() {
return this.getList("getSceneHealthStatusQo");
}
}