imboard
Version:
Most convenient platform for webpage development.
66 lines (61 loc) • 1.91 kB
text/xml
<mapper namespace="visitor">
<resultMap type="VisitorVo" id="typeResult">
<result column="TYPE" property="type" />
<result column="COUNT" property="count" />
</resultMap>
<resultMap type="VisitorVo" id="visitorResult">
<result column="IP" property="ip" />
<result column="USER_AGENT" property="userAgent" />
<result column="REFERER" property="referer" />
<result column="ACCESS_DATE" property="accessDate" />
</resultMap>
<select id="getVisitorList" parameterType="String" resultMap="typeResult">
SELECT
${type} AS TYPE,
COUNT(*) AS COUNT
FROM
(
SELECT
USER_AGENT,
REFERER,
DATE_FORMAT(ACCESS_DATE, '%Y-%m-%d') AS ACCESS_DATE
FROM
IMB_VISITOR
) A
GROUP BY
${type}
</select>
<select id="getVisitor" parameterType="VisitorVo" resultMap="visitorResult">
SELECT
IP,
USER_AGENT,
REFERER,
ACCESS_DATE
FROM
IMB_VISITOR
WHERE
IP = #{ip}
AND USER_AGENT = #{userAgent}
AND REFERER = #{referer}
AND DATE_FORMAT(ACCESS_DATE, '%Y-%m-%d %H:%i') = #{accessDate}
</select>
<insert id="insertVisitor" parameterType="VisitorVo">
INSERT IMB_VISITOR
(IP, USER_AGENT, REFERER, ACCESS_DATE)
VALUES
(
#{ip},
#{userAgent},
#{referer},
DATE_FORMAT(now(), '%Y-%m-%d %H:%i')
)
</insert>
<delete id="deleteVisitor" parameterType="VisitorVo">
DELETE FROM
IMB_VISITOR
WHERE
ACCESS_DATE <= DATE_ADD(now(), interval -3 month)
</delete>
</mapper>