| <?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.moral.api.mapper.HistoryHourlyMapper"> | 
|   | 
|     <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> |