OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/resources/mybatis/query-template/companyField-template.xml
@@ -11,6 +11,9 @@
        cf.tel as tel,
        cf.email as email,
        cf.url as url,
        cf.ip_start as ipStart,
        cf.ip_end as ipEnd,
        concat(cf.ip_start, "~", cf.ip_end) AS ipRange,
        cf.memo as memo,
        cf.isp_id as ispId,
        cf.hosting_id as hostingId,
@@ -19,9 +22,13 @@
        cf.child_sector_id as childSectorId,
        cf.region_id as regionId,
        cf.status_id as statusId,
        cf.status_name as statusName
        cf.status_name as statusName,
        sf.name AS ispName,
        hf.name AS hostingName
        FROM
        company_field cf
        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">
            AND cf.name like CONCAT('%',#{name},'%')
@@ -29,8 +36,16 @@
        <if test="id != '' and id != null">
            AND cf.id like CONCAT('%',#{id},'%')
        </if>
        <if test="url != '' and id != url">
            AND cf.url like CONCAT('%',#{url},'%')
        <choose>
            <when test="url != null and url.size != 0">
                AND
                <foreach collection="url" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
        <if test="ip != '' and ip != null">
            AND INET_ATON(cf.ip_start) <![CDATA[ <= ]]> #{ip} AND INET_ATON(cf.ip_end) >= #{ip}
        </if>
        ORDER BY cf.register_date DESC
        <if test="pageSize != '' and pageSize != null">
@@ -51,4 +66,45 @@
            AND cf.id like CONCAT('%',#{id},'%')
        </if>
    </select>
    <select id="findByUrls" 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="url != null and url.size != 0">
                AND
                <foreach collection="url" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
    </select>
    <select id="findByUrlsAndIdNot" 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="url != null and url.size != 0">
                AND
                <foreach collection="url" 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>
</mapper>