BigdataUfoRankMapper.xml 1.74 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.yoho.search.dal.BigdataUfoRankMapper">
    <resultMap id="BaseResultMap" type="com.yoho.search.dal.model.ufo_search.BigdataUfoRank">
        <id column="product_id" property="productId" jdbcType="INTEGER"/>
        <id column="date_id" property="dateId" jdbcType="BIGINT"/>
        <result column="rank" property="rank" jdbcType="DECIMAL"/>
        <result column="create_time" property="createTime" jdbcType="INTEGER"/>
    </resultMap>

    <sql id="Base_Column_List">
      product_id, date_id, rank, create_time
    </sql>

    <select id="selectLatestDateId" resultType="java.lang.Long">
        select max(date_id) from bigdata_ufo_rank
    </select>

    <select id="selectLatestDateById" resultMap="BaseResultMap" timeout="20000">
        <![CDATA[
		select * from bigdata_ufo_rank
		where
		date_id = #{dateId,jdbcType=BIGINT}
		and
		product_id in
		]]>
        <foreach item="item" index="index" collection="idList"
                 open="(" separator="," close=")">
            #{item}
        </foreach>
    </select>

    <select id="selectIdListByDate" resultType="java.lang.Integer" timeout="20000">
        SELECT product_id FROM bigdata_ufo_rank where ROUND(date_id/100) = #{dateId,jdbcType=INTEGER} limit #{pageSize}
    </select>

    <delete id="deleteBatch">
        <![CDATA[
        DELETE FROM bigdata_ufo_rank
        WHERE
        ROUND(date_id/100) = #{dateId,jdbcType=INTEGER}
        AND
        ]]>
        product_id in
        <foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
</mapper>