<?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.HistoryMinutelyMapper"> 
 | 
  
 | 
    <update id="createTable" parameterType="String"> 
 | 
        CREATE TABLE  IF NOT EXISTS `history_minutely_${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> 
 | 
  
 | 
    <select id="getHistoryMinutelyData" resultType="java.util.LinkedHashMap"> 
 | 
        SELECT 
 | 
        mac, `value`, version 
 | 
        FROM 
 | 
        history_minutely_${timeUnits} 
 | 
        WHERE `time` <![CDATA[>=]]> #{start} 
 | 
        AND `time` <![CDATA[<]]> #{end} 
 | 
        <if test="macs != null"> 
 | 
            AND mac IN 
 | 
            <foreach collection="macs" item="mac" open="(" close=")" separator=","> 
 | 
                #{mac} 
 | 
            </foreach> 
 | 
        </if> 
 | 
    </select> 
 | 
  
 | 
    <select id="getHourlyData" resultType="java.util.Map"> 
 | 
        SELECT mac, `time`, `value` 
 | 
        FROM history_minutely_${timeUnits} 
 | 
        WHERE `time` <![CDATA[>=]]> #{start} 
 | 
        AND `time` <![CDATA[<]]> #{end} 
 | 
    </select> 
 | 
  
 | 
</mapper> 
 |