xufenglei
2020-03-23 eee9aaa6095c507e5130db240d1ba4cb8273d299
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?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.mapper.SensorMapper" >
  <resultMap id="BaseResultMap" type="com.moral.entity.Sensor" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="sensor_key" property="sensorKey" jdbcType="VARCHAR" />
    <result column="upper" property="upper" jdbcType="DOUBLE" />
    <result column="lower" property="lower" jdbcType="DOUBLE" />
    <result column="unit" property="unit" jdbcType="VARCHAR" />
    <result column="description" property="description" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List" >
    id, name, sensor_key, upper, lower, unit, description
  </sql>
  <select id="selectSensorNamesByKeys" resultType="java.lang.String" parameterType="java.util.List" >
    select 
      `name`
    from sensor
    <if test="_parameter != null">
      WHERE sensor_key in
      <foreach item="key" index="index" collection="keys" open="(" separator="," close=")">
        #{key}
      </foreach>
    </if>
  </select>
  
  <select id="getSensorKeysByDeviceVersionId" resultType="java.lang.String">
    SELECT
        s.sensor_key 
    FROM
        device_version_sensor dvs,
        sensor s 
    WHERE
        dvs.sensor_id = s.id 
        AND dvs.device_version_id = #{deviceVersionId,jdbcType=INTEGER}
  </select>
 
    <select id="getSensorKeys" resultType="java.lang.String">
        select
        sensor_key
        from
        sensor
    </select>
    
    <select id="getSensorKeyByMac" resultType="string">
        select sensor_key
        from sensor
        WHERE id in
        (SELECT sensor_id
        from device_version_sensor
         WHERE device_version_id in
         (select device_version_id
         from device
         where mac in
        <foreach collection="macs" open="(" separator="," close=")"
                 item="mac">
            #{mac}
        </foreach>
        ));
    </select>
  
</mapper>