<?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.casic.missiles.mapper.DeviceDataMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.casic.missiles.model.DeviceData"> <id column="id" property="id"/> <result column="devcode" property="devcode"/> <result column="device_type" property="deviceType"/> <result column="cell" property="cell"/> <result column="data_json" property="dataJson"/> <result column="decrypt_before_data" property="decryptBeforeData"/> <result column="decrypt_after_data" property="decryptAfterData"/> <result column="uptime" property="uptime"/> <result column="logtime" property="logtime"/> </resultMap> <sql id="char_toDate" databaseId="mysql"> ${paramStr} </sql> <sql id="char_toDate" databaseId="pgsql"> TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone </sql> <sql id="char_toDate" databaseId="oracle"> TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') </sql> <sql id="timestampToChar" databaseId="mysql"> DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') </sql> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime </sql> <select id="listPage" resultType="com.casic.missiles.dto.data.DeviceDataListVO"> SELECT dd.id, dd.devcode, dd.device_type AS "deviceType", deptid, dd.cell, dd.data_json AS "dataJson", decrypt_before_data AS "decryptBeforeData", decrypt_after_data AS "decryptAfterData", uptime, logtime, d.STATUS, d.group_id AS "groupId", dg.group_name AS "groupName" FROM ( SELECT * FROM device_data WHERE 1=1 <if test="request.devcode!='' and request.devcode != null"> AND devcode like CONCAT('%',#{request.devcode},'%') </if> <if test="request.deviceType!='' and request.deviceType != null"> AND device_type =#{request.deviceType} </if> <if test="request.beginTime!='' and request.beginTime!=null"> AND logtime <![CDATA[ >= ]]> <include refid="char_toDate"> <property name="paramStr" value="#{request.beginTime}"/> </include> </if> <if test="request.endTime!='' and request.endTime!=null"> AND logtime <![CDATA[ <= ]]> <include refid="char_toDate"> <property name="paramStr" value="#{request.endTime}"/> </include> </if> <if test="request.ids != null"> and id in <foreach collection="request.ids" index="index" item="id" open="(" separator="," close=")"> #{id} </foreach> </if> )dd JOIN ( SELECT id, group_id,status,devcode FROM device WHERE valid=1 <if test="request.devcode!='' and request.devcode != null"> AND devcode like CONCAT('%',#{request.devcode},'%') </if> <if test="request.deviceType!='' and request.deviceType != null"> AND device_type =#{request.deviceType} </if> <if test="request.groupId!='' and request.groupId != null"> AND group_id=#{request.groupId} </if> )d ON d.devcode=dd.devcode JOIN ( SELECT deptid,id,group_name FROM device_group WHERE valid=1 <if test="request.groupId!='' and request.groupId != null"> AND id=#{request.groupId} </if> ) dg ON dg.id=d.group_id order by logtime desc </select> </mapper>