<?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.BusConfigMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.casic.missiles.model.BusConfig"> <id column="id" property="id"/> <result column="device_id" property="deviceId"/> <result column="devcode" property="devcode"/> <result column="config_type" property="configType" /> <result column="config_json" property="configJson"/> <result column="status" property="status"/> <result column="send_time" property="sendTime"/> <result column="create_time" property="createTime"/> <result column="create_user_id" property="createUserId"/> <result column="response_time" property="responseTime"/> <result column="ttl" property="ttl"/> </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="Base_Column_List"> id, devcode, config_json, status, send_time, create_time, create_user_id, ttl, response_time, device_id </sql> <select id="listPage" resultType="com.casic.missiles.model.BusConfig"> select bc.id,bc.devcode,config_type AS "configType", config_json AS "configJson",bc.status, send_time as "sendTime",bc.create_time AS "createTime",bc.create_user_id AS "createUserId", bc.create_user_name AS "createUserName",dg.deptid FROM ( SELECT * FROM bus_config WHERE 1=1 <if test="request.configType != null and request.configType != '' "> AND config_type =#{request.configType} </if> <if test="request.devcode != '' and request.devcode != null"> AND devcode =#{request.devcode} </if> <if test="request.status != '' and request.status != null"> AND status =#{request.status} </if> <if test="request.beginTime!='' and request.beginTime!=null"> AND send_time <![CDATA[ >= ]]> <include refid="char_toDate"> <property name="paramStr" value="#{request.beginTime}"/> </include> </if> <if test="request.endTime!='' and request.endTime!=null"> AND send_time <![CDATA[ <= ]]> <include refid="char_toDate"> <property name="paramStr" value="#{request.endTime}"/> </include> </if> )bc JOIN device d ON d.devcode=bc.devcode JOIN device_group dg ON dg.id= d.group_id </select> <select id="findConfigListToBeSend" resultType="com.casic.missiles.model.BusConfig"> SELECT <include refid="Base_Column_List"></include> FROM bus_config bc WHERE (bc.status = 0 OR bc.status = 3) AND bc.device_id = #{deviceId} ORDER BY bc.create_time DESC </select> <select id="findConfigListSendToDevice" resultType="com.casic.missiles.model.BusConfig"> SELECT <include refid="Base_Column_List"></include> FROM bus_config bc WHERE bc.status = 3 AND bc.send_time IS NOT NULL AND bc.device_id = #{deviceId} ORDER BY bc.send_time DESC </select> </mapper>