<?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 (20) 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>
|
|
<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>
|
</mapper>
|