<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="kr.wisestone.owl.mapper.CompanyFieldMapper">
|
|
<select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
|
SELECT
|
cf.id as id,
|
cf.name as name,
|
cf.manager as manager,
|
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,
|
cf.company_type_id as companyTypeId,
|
cf.parent_sector_id as parentSectorId,
|
cf.child_sector_id as childSectorId,
|
cf.region_id as regionId,
|
cf.status_id as statusId,
|
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 != null and name != ''">
|
AND cf.name like CONCAT('%',#{name},'%')
|
</if>
|
<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="urls != null and urls.size != 0">
|
AND
|
<foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
|
cf.url LIKE CONCAT('%',#{item},'%')
|
</foreach>
|
</when>
|
</choose>
|
<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
|
<if test="pageSize != '' and pageSize != null">
|
limit #{pageSize} offset #{page};
|
</if>
|
</select>
|
|
<select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
|
SELECT
|
count(DISTINCT cf.id)
|
FROM
|
company_field cf
|
WHERE 1=1
|
<if test="name != '' and name != null">
|
AND cf.name like CONCAT('%',#{name},'%')
|
</if>
|
<if test="id != '' and id != null">
|
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
|
<if test="url != null and url != ''">
|
AND cf.url LIKE CONCAT('%',#{url},'%')
|
</if>
|
<choose>
|
<when test="urls != null and urls.size != 0">
|
AND
|
<foreach collection="urls" 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,
|
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="urls != null and urls.size != 0">
|
AND
|
<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>
|
</mapper>
|