|  |  |  | 
|---|
|  |  |  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
|---|
|  |  |  | <mapper namespace="com.moral.api.mapper.HistoryHourlyMapper"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 通用查询映射结果 --> | 
|---|
|  |  |  | <resultMap id="BaseResultMap" type="com.moral.api.entity.HistoryHourly"> | 
|---|
|  |  |  | <result column="mac" property="mac"/> | 
|---|
|  |  |  | <result column="time" property="time"/> | 
|---|
|  |  |  | <result column="value" property="value"/> | 
|---|
|  |  |  | <result column="version" property="version"/> | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  | <update id="createTable" parameterType="String"> | 
|---|
|  |  |  | CREATE TABLE IF NOT EXISTS `history_hourly_${timeUnits}` ( | 
|---|
|  |  |  | `mac` VARCHAR (30) DEFAULT NULL COMMENT '设备mac', | 
|---|
|  |  |  | `time` datetime DEFAULT NULL COMMENT '数据时间', | 
|---|
|  |  |  | `value` json DEFAULT NULL COMMENT '数据', | 
|---|
|  |  |  | `version` INT(11) DEFAULT NULL COMMENT '型号', | 
|---|
|  |  |  | KEY `idx_mac_time` (`mac`,`time`) | 
|---|
|  |  |  | ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '小时数据表' | 
|---|
|  |  |  | </update> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <update id="createTableComplete" parameterType="String"> | 
|---|
|  |  |  | CREATE TABLE IF NOT EXISTS `history_hourly_${timeUnits}_complete` ( | 
|---|
|  |  |  | `mac` VARCHAR (30) DEFAULT NULL COMMENT '设备mac', | 
|---|
|  |  |  | `time` datetime DEFAULT NULL COMMENT '数据时间', | 
|---|
|  |  |  | `value` json DEFAULT NULL COMMENT '数据', | 
|---|
|  |  |  | KEY `idx_mac_time` (`mac`,`time`) | 
|---|
|  |  |  | ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '包含最大值,最小值,平局值的小时数据表' | 
|---|
|  |  |  | </update> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <insert id="insertHistoryHourly"> | 
|---|
|  |  |  | INSERT INTO history_hourly_${timeUnits} VALUES | 
|---|
|  |  |  | <foreach collection="list" item="item" separator=","> | 
|---|
|  |  |  | (#{item.mac}, #{item.time}, #{item.value}, #{item.version}) | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | </insert> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectCountByTime" resultType="java.lang.Integer"> | 
|---|
|  |  |  | SELECT COUNT(1) FROM history_hourly_${timeUnits} WHERE `time` = #{time} | 
|---|
|  |  |  | <if test="mac != null"> | 
|---|
|  |  |  | AND mac = #{mac} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectDailyData" resultType="java.util.Map"> | 
|---|
|  |  |  | SELECT mac, `time`, `value` | 
|---|
|  |  |  | FROM history_hourly_${timeUnits} | 
|---|
|  |  |  | WHERE `time` <![CDATA[>=]]> #{start} | 
|---|
|  |  |  | AND `time` <![CDATA[<]]> #{end} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <insert id="insertHistoryHourlyComplete"> | 
|---|
|  |  |  | INSERT INTO | 
|---|
|  |  |  | history_hourly_${timeUnits}_complete | 
|---|
|  |  |  | VALUES | 
|---|
|  |  |  | <foreach collection="list" item="item" separator=","> | 
|---|
|  |  |  | (#{item.mac}, #{item.time}, #{item.value}) | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | </insert> | 
|---|
|  |  |  | </mapper> | 
|---|