<?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}
|
<if test="list != null and list.size()!=0">
|
and mac in
|
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
</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>
|
|
|
<insert id="insertHistoryHourlyAvg">
|
INSERT INTO
|
history_hourly_${timeUnits}
|
VALUES
|
<foreach collection="list" item="item" separator=",">
|
(#{item.mac}, #{item.time}, #{item.value}, #{item.version})
|
</foreach>
|
</insert>
|
</mapper>
|