mybatis常用代码

来源:互联网 发布:ubuntu挂载共享文件夹 编辑:程序博客网 时间:2024/06/10 10:10
<?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");
    }
}









原创粉丝点击