GoodsImagesMapper.xml 7.37 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.GoodsImagesMapper" >
  <resultMap id="BaseResultMap" type="com.yoho.search.dal.model.GoodsImages" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="goods_id" property="goodsId" jdbcType="INTEGER" />
    <result column="product_id" property="productId" jdbcType="INTEGER" />
    <result column="is_default" property="isDefault" jdbcType="CHAR" />
    <result column="image_name" property="imageName" jdbcType="VARCHAR" />
    <result column="image_url" property="imageUrl" jdbcType="VARCHAR" />
    <result column="angle" property="angle" jdbcType="INTEGER" />
    <result column="order_by" property="orderBy" jdbcType="INTEGER" />
    <result column="intro" property="intro" jdbcType="VARCHAR" />
    <result column="status" property="status" jdbcType="INTEGER" />
    <result column="gender_cover" property="genderCover" jdbcType="INTEGER" />
  </resultMap>
  <sql id="Base_Column_List" >
    id, goods_id, product_id, is_default, image_name, image_url, angle, order_by, intro, 
    status, gender_cover
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" timeout="20000">
    select 
    <include refid="Base_Column_List" />
    from goods_images
    where id = #{id,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" timeout="20000">
    delete from goods_images
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.yoho.search.dal.model.GoodsImages" timeout="20000">
    insert ignore into goods_images (id, goods_id, product_id, 
      is_default, image_name, image_url, 
      angle, order_by, intro, 
      status, gender_cover)
    values (#{id,jdbcType=INTEGER}, #{goodsId,jdbcType=INTEGER}, #{productId,jdbcType=INTEGER}, 
      #{isDefault,jdbcType=CHAR}, #{imageName,jdbcType=VARCHAR}, #{imageUrl,jdbcType=VARCHAR}, 
      #{angle,jdbcType=INTEGER}, #{orderBy,jdbcType=INTEGER}, #{intro,jdbcType=VARCHAR},
      #{status,jdbcType=INTEGER}, #{genderCover,jdbcType=INTEGER})
  </insert>
  <insert id="insertSelective" parameterType="com.yoho.search.dal.model.GoodsImages" timeout="20000">
    insert ignore into goods_images
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="goodsId != null" >
        goods_id,
      </if>
      <if test="productId != null" >
        product_id,
      </if>
      <if test="isDefault != null" >
        is_default,
      </if>
      <if test="imageName != null" >
        image_name,
      </if>
      <if test="imageUrl != null" >
        image_url,
      </if>
      <if test="angle != null" >
        angle,
      </if>
      <if test="orderBy != null" >
        order_by,
      </if>
      <if test="intro != null" >
        intro,
      </if>
      <if test="status != null" >
        status,
      </if>
      <if test="genderCover != null" >
        gender_cover,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="goodsId != null" >
        #{goodsId,jdbcType=INTEGER},
      </if>
      <if test="productId != null" >
        #{productId,jdbcType=INTEGER},
      </if>
      <if test="isDefault != null" >
        #{isDefault,jdbcType=CHAR},
      </if>
      <if test="imageName != null" >
        #{imageName,jdbcType=VARCHAR},
      </if>
      <if test="imageUrl != null" >
        #{imageUrl,jdbcType=VARCHAR},
      </if>
      <if test="angle != null" >
        #{angle,jdbcType=INTEGER},
      </if>
      <if test="orderBy != null" >
        #{orderBy,jdbcType=INTEGER},
      </if>
      <if test="intro != null" >
        #{intro,jdbcType=VARCHAR},
      </if>
      <if test="status != null" >
        #{status,jdbcType=INTEGER},
      </if>
      <if test="genderCover != null" >
        #{genderCover,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.yoho.search.dal.model.GoodsImages" timeout="20000">
    update goods_images
    <set >
      <if test="goodsId != null" >
        goods_id = #{goodsId,jdbcType=INTEGER},
      </if>
      <if test="productId != null" >
        product_id = #{productId,jdbcType=INTEGER},
      </if>
      <if test="isDefault != null" >
        is_default = #{isDefault,jdbcType=CHAR},
      </if>
      <if test="imageName != null" >
        image_name = #{imageName,jdbcType=VARCHAR},
      </if>
      <if test="imageUrl != null" >
        image_url = #{imageUrl,jdbcType=VARCHAR},
      </if>
      <if test="angle != null" >
        angle = #{angle,jdbcType=INTEGER},
      </if>
      <if test="orderBy != null" >
        order_by = #{orderBy,jdbcType=INTEGER},
      </if>
      <if test="intro != null" >
        intro = #{intro,jdbcType=VARCHAR},
      </if>
      <if test="status != null" >
        status = #{status,jdbcType=INTEGER},
      </if>
      <if test="genderCover != null" >
        gender_cover = #{genderCover,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.yoho.search.dal.model.GoodsImages" timeout="20000">
    update goods_images
    set goods_id = #{goodsId,jdbcType=INTEGER},
      product_id = #{productId,jdbcType=INTEGER},
      is_default = #{isDefault,jdbcType=CHAR},
      image_name = #{imageName,jdbcType=VARCHAR},
      image_url = #{imageUrl,jdbcType=VARCHAR},
      angle = #{angle,jdbcType=INTEGER},
      order_by = #{orderBy,jdbcType=INTEGER},
      intro = #{intro,jdbcType=VARCHAR},
      status = #{status,jdbcType=INTEGER},
      gender_cover = #{genderCover,jdbcType=INTEGER}
    where id = #{id,jdbcType=INTEGER}
  </update>
  <select id="count" resultType="java.lang.Integer" timeout="20000">  
        SELECT count(1) FROM goods_images  
  </select>
  <select id="getPageLists" resultMap="BaseResultMap" timeout="20000">
       select 
    <include refid="Base_Column_List" />
     from goods_images limit #{offset},#{pageSize}
  </select>
  <select id="selectDefaultImageUrlByProductId" parameterType="java.lang.Integer" resultType="java.lang.String" timeout="20000"> 
      SELECT image_url FROM goods_images where is_default='Y' and product_id = #{productId,jdbcType=INTEGER} order by id desc limit 0,1
  </select>
  <resultMap id="GoodsCoverImage" type="com.yoho.search.dal.model.GoodsCoverImage" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="goods_id" property="goodsId" jdbcType="INTEGER" />
    <result column="cover_1" property="cover_1" jdbcType="VARCHAR" />
    <result column="cover_2" property="cover_2" jdbcType="VARCHAR" />
  </resultMap>
  <select id="selectGoodsCoverImage" resultMap="GoodsCoverImage">
    <![CDATA[
    SELECT
    `a`.`id` AS `id`,
    `a`.`goods_id` AS `goods_id`,
    (
    CASE `a`.`gender_cover`
    WHEN 1 THEN
    `a`.`image_url`
    END
    ) AS `cover_1`,
    (
    CASE `a`.`gender_cover`
    WHEN 2 THEN
    `a`.`image_url`
    END
    ) AS `cover_2`
    FROM
    `goods_images` `a`
    where
    (`a`.`gender_cover` <> 0)
     AND goods_id in]]>
    <foreach item="item" index="index" collection="list"
             open="(" separator="," close=")">
      #{item}
    </foreach>
  </select>
</mapper>