Product15DaySalesnumMapper.xml 4.19 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.Product15DaySalesNumMapper" >
  <resultMap id="BaseResultMap" type="com.yoho.search.dal.model.Product15DaySalesNum" >
    <id column="product_skn" property="productSkn" jdbcType="INTEGER" />
    <id column="date_id" property="dateId" jdbcType="INTEGER" />
    <result column="sales_num" property="salesNum" jdbcType="INTEGER" />
  </resultMap>
  <sql id="Base_Column_List" >
    product_skn, date_id, sales_num
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="com.yoho.search.dal.model.Product15DaySalesNumKey" >
    select 
    <include refid="Base_Column_List" />
    from product_15day_salesnum
    where product_skn = #{productSkn,jdbcType=INTEGER}
      and date_id = #{dateId,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="com.yoho.search.dal.model.Product15DaySalesNumKey" >
    delete from product_15day_salesnum
    where product_skn = #{productSkn,jdbcType=INTEGER}
      and date_id = #{dateId,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.yoho.search.dal.model.Product15DaySalesNum" >
    insert into product_15day_salesnum (product_skn, date_id, sales_num
      )
    values (#{productSkn,jdbcType=INTEGER}, #{dateId,jdbcType=INTEGER}, #{salesNum,jdbcType=INTEGER}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.yoho.search.dal.model.Product15DaySalesNum" >
    insert into product_15day_salesnum
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="productSkn != null" >
        product_skn,
      </if>
      <if test="dateId != null" >
        date_id,
      </if>
      <if test="salesNum != null" >
        sales_num,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="productSkn != null" >
        #{productSkn,jdbcType=INTEGER},
      </if>
      <if test="dateId != null" >
        #{dateId,jdbcType=INTEGER},
      </if>
      <if test="salesNum != null" >
        #{salesNum,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.yoho.search.dal.model.Product15DaySalesNum" >
    update product_15day_salesnum
    <set >
      <if test="salesNum != null" >
        sales_num = #{salesNum,jdbcType=INTEGER},
      </if>
    </set>
    where product_skn = #{productSkn,jdbcType=INTEGER}
      and date_id = #{dateId,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.yoho.search.dal.model.Product15DaySalesNum" >
    update product_15day_salesnum
    set sales_num = #{salesNum,jdbcType=INTEGER}
    where product_skn = #{productSkn,jdbcType=INTEGER}
      and date_id = #{dateId,jdbcType=INTEGER}
  </update>
  <select id="getSalesNum" resultMap="BaseResultMap" parameterType="java.lang.Integer" timeout="20000">
  	<![CDATA[
	  	select ps.product_skn,ps.date_id,ps.sales_num 
		from (
			select * from product_15day_salesnum p 
			where p.product_skn in
			]]>
			<foreach item="item" index="index" collection="list"
					 open="(" separator="," close=")">
				#{item}
			</foreach>
			order by p.date_id desc
		) ps
		group by ps.product_skn
  </select>
  <select id="getSalesNumOfLatestDate" resultMap="BaseResultMap" timeout="20000">
  	<![CDATA[
		select * from product_15day_salesnum p 
		where p.product_skn in
		]]>
		<foreach item="item" index="index" collection="skns"
				 open="(" separator="," close=")">
			#{item}
		</foreach>
		and date_id = #{dateid}
  </select>
  <select id="selectBySkn" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
	select * from product_15day_salesnum 
	where product_skn =#{skn}
	order by date_id desc
	limit 1
  </select>
  <select id="selectBySknAndDate" resultMap="BaseResultMap" parameterType="com.yoho.search.dal.model.Product15DaySalesNumKey" >
	select * from product_15day_salesnum 
	where product_skn = #{productSkn,jdbcType=INTEGER}
      and date_id = #{dateId,jdbcType=INTEGER}
	limit 1
  </select>
  <select id="getLatestDateId" resultType="java.lang.Integer">
  	select max(date_id) from product_15day_salesnum 
  </select>
</mapper>