ApiLogMapper.xml 9.1 KB
<?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.huaheng.pc.monitor.apilog.mapper.ApiLogMapper">

    <resultMap type="com.huaheng.pc.monitor.apilog.domain.ApiLog" id="apiLogResult">
        <result property="id" column="id"/>
        <result property="apiName" column="apiName"/>
        <result property="apiMethod" column="apiMethod"/>
        <result property="ip" column="ip"/>
        <result property="requestFrom" column="requestFrom"/>
        <result property="responseBy" column="responseBy"/>
        <result property="url" column="url"/>
        <result property="requestTime" column="requestTime"/>
        <result property="responseTime" column="responseTime"/>
        <result property="requestHeader" column="requestHeader"/>
        <result property="requestBody" column="requestBody"/>
        <result property="responseHeader" column="responseHeader"/>
        <result property="responseBody" column="responseBody"/>
        <result property="duration" column="duration"/>
        <result property="httpCode" column="httpCode"/>
        <result property="retCode" column="retCode"/>
        <result property="exception" column="exception"/>
    </resultMap>
    <sql id="selectapiLogVo">
        select id, apiName, apiMethod, ip, requestFrom, responseBy, url, requestTime, responseTime, requestHeader, requestBody, responseHeader, responseBody, duration, httpCode, retCode, `exception` from api_log
    </sql>
    <insert id="insert" parameterType="com.huaheng.pc.monitor.apilog.domain.ApiLog" keyProperty="id" useGeneratedKeys="true" >
        INSERT INTO api_log
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="apiName != null">
                apiName,
            </if>
            <if test="apiMethod != null">
                apiMethod,
            </if>
            <if test="ip != null">
                ip,
            </if>
            <if test="requestFrom != null">
                requestFrom,
            </if>
            <if test="responseBy != null">
                responseBy,
            </if>
            <if test="url != null">
                url,
            </if>
            <if test="requestTime != null">
                requestTime,
            </if>
            <if test="responseTime != null">
                responseTime,
            </if>
            <if test="requestHeader != null">
                requestHeader,
            </if>
            <if test="requestBody != null">
                requestBody,
            </if>
            <if test="responseBody != null">
                responseBody,
            </if>
            <if test="duration != null">
                duration,
            </if>
            <if test="httpCode != null">
                httpCode,
            </if>
            <if test="retCode != null">
                retCode,
            </if>
            <if test="exception != null">
                exception,
            </if>
        </trim>
        <trim prefix=" values (" suffix=")" suffixOverrides=",">
            <if test="apiName != null">
                #{apiName, jdbcType=VARCHAR},
            </if>
            <if test="apiMethod != null">
                #{apiMethod, jdbcType=VARCHAR},
            </if>
            <if test="ip != null">
                #{ip, jdbcType=VARCHAR},
            </if>
            <if test="requestFrom != null">
                #{requestFrom, jdbcType=VARCHAR},
            </if>
            <if test="responseBy != null">
                #{responseBy, jdbcType=VARCHAR},
            </if>
            <if test="url != null">
                #{url, jdbcType=VARCHAR},
            </if>
            <if test="requestTime != null">
                #{requestTime,jdbcType=TIMESTAMP},
            </if>
            <if test="responseTime != null">
                #{responseTime,jdbcType=TIMESTAMP},
            </if>
            <if test="requestHeader != null">
                #{requestHeader,  jdbcType=LONGVARCHAR},
            </if>
            <if test="requestBody != null">
                #{requestBody,  jdbcType=LONGVARCHAR},
            </if>
            <if test="responseBody != null">
                #{responseBody,  jdbcType=LONGVARCHAR},
            </if>
            <if test="duration != null">
                #{duration, jdbcType=INTEGER},
            </if>
            <if test="httpCode != null">
                #{httpCode, jdbcType=VARCHAR},
            </if>
            <if test="retCode != null">
                #{retCode, jdbcType=VARCHAR},
            </if>
            <if test="exception != null">
                #{exception, jdbcType=LONGVARCHAR},
            </if>
        </trim>
    </insert>
    <update id="updateByModel">
        UPDATE api_log
        <set>
            <if test="apiName != null">
                apiName = #{apiName, jdbcType=VARCHAR},
            </if>
            <if test="apiMethod != null">
                apiMethod = #{apiMethod, jdbcType=VARCHAR},
            </if>
            <if test="ip != null">
                ip = #{ip, jdbcType=VARCHAR},
            </if>
            <if test="requestFrom != null">
                requestFrom = #{requestFrom, jdbcType=VARCHAR},
            </if>
            <if test="responseBy != null">
                responseBy = #{responseBy, jdbcType=VARCHAR},
            </if>
            <if test="url != null">
                url = #{url, jdbcType=VARCHAR},
            </if>
            <if test="requestTime != null">
                requestTime = #{requestTime,jdbcType=TIMESTAMP},
            </if>
            <if test="responseTime != null">
                responseTime = #{responseTime,jdbcType=TIMESTAMP},
            </if>
            <if test="requestHeader != null">
                requestHeader = #{requestHeader,  jdbcType=LONGVARCHAR},
            </if>
            <if test="requestBody null">
                requestBody = #{requestBody,  jdbcType=LONGVARCHAR},
            </if>
            <if test="responseBody != null">
                responseBody = #{responseBody,  jdbcType=LONGVARCHAR},
            </if>
            <if test="duration != null">
                duration = #{duration, jdbcType=INTEGER},
            </if>
            <if test="httpCode != null">
                httpCode = #{httpCode, jdbcType=VARCHAR},
            </if>
            <if test="retCode != null">
                retCode = #{retCode, jdbcType=VARCHAR},
            </if>
            <if test="exception != null">
                exception = #{exception, jdbcType=LONGVARCHAR},
            </if>
        </set>
        WHERE id = #{id,jdbcType=INTEGER}
    </update>
    <delete id="deleteLog">
        delete from api_log where to_days(requestTime) &lt; to_days(#{dateBefore})
    </delete>
    <select id="getRequestFromList" resultType="java.lang.String">
        select  distinct(requestFrom) from api_log order by requestFrom asc
    </select>
    <select id="getResponseByList" resultType="java.lang.String">
        select  distinct(responseBy) from api_log order by responseBy asc
    </select>
    <select id="getHttpCodeList" resultType="java.lang.String">
        select  distinct(httpCode) from api_log order by httpCode asc
    </select>
    <select id="getApiNameList" resultType="java.lang.String">
        select  distinct(apiName) from api_log order by apiName asc
    </select>
    <select id="getRetCodeList" resultType="java.lang.String">
        select  distinct(retCode) from api_log order by retCode asc
    </select>
    <select id="getById" resultType="com.huaheng.pc.monitor.apilog.domain.ApiLog">
        select * from api_log where id=#{id}
    </select>
    <select id="selectListEntityByLike" resultType="com.huaheng.pc.monitor.apilog.domain.ApiLog">
        SELECT * from api_log
        <where>
            <if test="apiName != null  and apiName != '' ">
                AND apiName = #{apiName}
            </if>
            <if test="requestFrom != null and requestFrom != '' ">
                AND requestFrom = #{requestFrom}
            </if>
            <if test="responseBy != null and responseBy != ''">
                AND responseBy = #{responseBy}
            </if>
            <if test="beginRequestTime != null and beginRequestTime != ''">
                AND to_days(requestTime) >= to_days(#{beginRequestTime})
            </if>
            <if test="endRequestTime != null and endRequestTime != ''">
                AND to_days(#{endRequestTime}) >= to_days(requestTime)
            </if>
            <if test="paramDuration != null and paramDuration != ''">
                AND duration > #{paramDuration}
            </if>
            <if test="hasException == '0'.toString()">
                AND isnull(exception)
            </if>
            <if test="hasException == '1'.toString()">
                AND not isnull(exception)
            </if>
            <if test="httpCode != null and httpCode != ''">
                AND httpCode = #{httpCode}
            </if>
            <if test="retCode != null and retCode != ''">
                AND retCode = #{retCode}
            </if>
        </where>
        order by id desc
    </select>
</mapper>