OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-03-17 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1
src/main/resources/mybatis/query-template/companyField-template.xml
@@ -30,21 +30,24 @@
        LEFT OUTER JOIN isp_field sf ON cf.isp_id = sf.id
        LEFT OUTER JOIN hosting_field hf ON cf.hosting_id = hf.id
        WHERE 1=1
        <if test="name != '' and name != null">
        <if test="name != null and name != ''">
            AND cf.name like CONCAT('%',#{name},'%')
        </if>
        <if test="id != '' and id != null">
        <if test="id != null and id != ''">
            AND cf.id like CONCAT('%',#{id},'%')
        </if>
        <if test="url != null and url != ''">
            AND cf.url LIKE CONCAT('%',#{url},'%')
        </if>
        <choose>
            <when test="url != null and url.size != 0">
            <when test="urls != null and urls.size != 0">
                AND
                <foreach collection="url" item="item" index="index" separator="or" open="(" close=")">
                <foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
        <if test="ip != '' and ip != null">
        <if test="ip != null and ip != '' and ip > -1">
            AND INET_ATON(cf.ip_start) <![CDATA[ <= ]]> #{ip} AND INET_ATON(cf.ip_end) >= #{ip}
        </if>
        ORDER BY cf.register_date DESC
@@ -76,10 +79,13 @@
        FROM
        company_field cf
        WHERE 1=1
        <if test="url != null and url != ''">
            AND cf.url LIKE CONCAT('%',#{url},'%')
        </if>
        <choose>
            <when test="url != null and url.size != 0">
            <when test="urls != null and urls.size != 0">
                AND
                <foreach collection="url" item="item" index="index" separator="or" open="(" close=")">
                <foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
@@ -91,51 +97,21 @@
        cf.id as id,
        cf.name as name,
        cf.email as email,
        cf.url as url
        cf.url as url,
        cf.ip_start AS ipStart,
        cf.ip_end AS ipEnd
        FROM
        company_field cf
        WHERE 1=1
        <if test="url != null and url != ''">
            AND cf.url LIKE CONCAT('%',#{url},'%')
        </if>
        <choose>
            <when test="url != null and url.size != 0">
            <when test="urls != null and urls.size != 0">
                AND
                <foreach collection="url" item="item" index="index" separator="or" open="(" close=")">
                <foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
        <if test="id != '' and id != null">
            AND cf.id not like CONCAT('%',#{id},'%')
        </if>
    </select>
    <select id="findByIps" resultType="kr.wisestone.owl.domain.CompanyField" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
        SELECT
        cf.id as id,
        cf.name as name,
        cf.email as email,
        cf.url as url
        FROM
        company_field cf
        WHERE 1=1
        <choose>
            <when test="ipStart != null and ipStart != '' and ipEnd != null and ipEnd != ''">
                AND INET_ATON(cf.ip_start) BETWEEN #{ipStart} AND #{ipEnd} OR INET_ATON(cf.ip_end) BETWEEN #{ipStart} AND #{ipEnd}
            </when>
        </choose>
    </select>
    <select id="findByIpsAndIdNot" resultType="kr.wisestone.owl.domain.CompanyField" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
        SELECT
        cf.id as id,
        cf.name as name,
        cf.email as email,
        cf.url as url
        FROM
        company_field cf
        WHERE 1=1
        <choose>
            <when test="ipStart != null and ipStart != '' and ipEnd != null and ipEnd != ''">
                AND (INET_ATON(cf.ip_start) BETWEEN #{ipStart} AND #{ipEnd} OR INET_ATON(cf.ip_end) BETWEEN #{ipStart} AND #{ipEnd})
            </when>
        </choose>
        <if test="id != '' and id != null">