mybatis

<?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="ConBoxGoodsDao">
    <resultMap id="BaseResultMap" type="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="seller_no" property="sellerNo" jdbcType="VARCHAR"/>
        <result column="seller_name" property="sellerName" jdbcType="VARCHAR"/>
        <result column="box_no" property="boxNo" jdbcType="VARCHAR"/>
        <result column="box_name" property="boxName" jdbcType="VARCHAR"/>
        <result column="store_no" property="storeNo" jdbcType="VARCHAR"/>
        <result column="store_name" property="storeName" jdbcType="VARCHAR"/>
        <result column="goods_no" property="goodsNo" jdbcType="VARCHAR"/>
        <result column="goods_name" property="goodsName" jdbcType="VARCHAR"/>
        <result column="sales_price" property="salesPrice" jdbcType="DECIMAL"/>
        <result column="discount" property="discount" jdbcType="DECIMAL"/>
        <result column="realtime_price" property="realtimePrice" jdbcType="DECIMAL"/>
        <result column="inside_price" property="insidePrice" jdbcType="DECIMAL"/>
        <result column="stock_qty_norm" property="stockQtyNorm" jdbcType="INTEGER"/>
        <result column="project_no" property="projectNo" jdbcType="VARCHAR"/>
        <result column="project_name" property="projectName" jdbcType="VARCHAR"/>
        <result column="template_no" property="templateNo" jdbcType="VARCHAR"/>
        <result column="template_name" property="templateName" jdbcType="VARCHAR"/>
        <result column="stock_threshold" property="stockThreshold" jdbcType="INTEGER"/>
        <result column="goods_status" property="goodsStatus" jdbcType="INTEGER"/>
        <result column="shelves" property="shelves" jdbcType="VARCHAR"/>
        <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
        <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
        <result column="create_user" property="createUser" jdbcType="VARCHAR"/>
        <result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
        <result column="ts" property="ts" jdbcType="TIMESTAMP"/>
        <result column="is_delete" property="isDelete" jdbcType="INTEGER"/>
        <result column="sys_version" property="sysVersion" jdbcType="TINYINT"/>
        <result column="reserve1" property="reserve1" jdbcType="VARCHAR"/>
        <result column="reserve2" property="reserve2" jdbcType="VARCHAR"/>
    </resultMap>

    <sql id="Base_Column_List">
        <trim prefix="" suffix="" suffixOverrides=",">
            id,
            seller_no,
            seller_name,
            box_no,
            box_name,
            store_no,
            store_name,
            goods_no,
            goods_name,
            sales_price,
            discount,
            realtime_price,
            inside_price,
            stock_qty_norm,
            project_no,
            project_name,
            template_no,
            template_name,
            stock_threshold,
            goods_status,
            shelves,
            create_time,
            update_time,
            create_user,
            update_user,
            ts,
            is_delete,
            sys_version,
            reserve1,
            reserve2,
        </trim>
    </sql>

    <!-- 根据Id查询 -->
    <select id="getConBoxGoods" resultMap="BaseResultMap" parameterType="Long">
        select
        <include refid="Base_Column_List"/>
        from con_box_goods
        where id = #{id,jdbcType=BIGINT}
    </select>

    <!-- 根据条件查询列表 -->
    <select id="findConBoxGoodsList" resultMap="BaseResultMap"
            parameterType="com.jd.jdx.x.sr.cms.domain.container.query.ConBoxGoodsQuery">
        select
        <include refid="Base_Column_List"/>
        from con_box_goods
        <where>
            is_delete=0
        </where>
    </select>


    <!-- 根据skuList查询列表 -->
    <select id="getBoxGoodsListBySkuList" resultMap="BaseResultMap"
            parameterType="com.jd.jdx.x.sr.cms.domain.container.dto.GoodsBoxDto">
        select
        <include refid="Base_Column_List"/>
        from con_box_goods
        <where>
            is_delete=0
            <if test="sellerNo != null">
                and seller_no=#{sellerNo}
            </if>
            <if test="deviceNo != null">
                and box_no=#{deviceNo}
            </if>
            <if test="skuList != null">
                and goods_no in
                <foreach item="item" collection="skuList" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>


        </where>


    </select>

    <!--根据商家设备-获取设备商品信息-->
    <select id="getBoxGoodsListByListDto" resultMap="BaseResultMap"
            parameterType="com.jd.jdx.x.sr.cms.domain.container.dto.UIGoodsBoxDto">
        select
        <include refid="Base_Column_List"/>
        from con_box_goods
        <where>
            is_delete=0
            <if test="sellerNo != null">
                and seller_no=#{sellerNo}
            </if>
            <if test="listBoxNos != null">
                and box_no in
                <foreach item="item" collection="listBoxNos" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        </where>
    </select>

    <!-- 插入实体 -->
    <insert id="insertConBoxGoods" parameterType="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods"
            useGeneratedKeys="true" keyProperty="id">
        insert into con_box_goods
        <trim prefix="(" suffix=")" suffixOverrides=",">
            id,
            seller_no,
            seller_name,
            box_no,
            box_name,
            store_no,
            store_name,
            goods_no,
            sales_price,
            discount,
            realtime_price,
            inside_price,
            stock_qty_norm,
            project_no,
            project_name,
            template_no,
            template_name,
            stock_threshold,
            goods_status,
            shelves,
            create_time,
            update_time,
            create_user,
            update_user,
            is_delete,
            sys_version,
            reserve1,
            reserve2,
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            #{id,jdbcType=BIGINT},
            #{sellerNo,jdbcType=VARCHAR},
            #{sellerName,jdbcType=VARCHAR},
            #{boxNo,jdbcType=VARCHAR},
            #{boxName,jdbcType=VARCHAR},
            #{storeNo,jdbcType=VARCHAR},
            #{storeName,jdbcType=VARCHAR},
            #{goodsNo,jdbcType=VARCHAR},
            #{salesPrice,jdbcType=DECIMAL},
            #{discount,jdbcType=DECIMAL},
            #{realtimePrice,jdbcType=DECIMAL},
            #{insidePrice,jdbcType=DECIMAL},
            #{stockQtyNorm,jdbcType=INTEGER},
            #{projectNo,jdbcType=VARCHAR},
            #{projectName,jdbcType=VARCHAR},
            #{templateNo,jdbcType=VARCHAR},
            #{templateName,jdbcType=VARCHAR},
            #{stockThreshold,jdbcType=INTEGER},
            #{goodsStatus,jdbcType=INTEGER},
            #{shelves,jdbcType=VARCHAR},
            #{createTime,jdbcType=TIMESTAMP},
            #{updateTime,jdbcType=TIMESTAMP},
            #{createUser,jdbcType=VARCHAR},
            #{updateUser,jdbcType=VARCHAR},
            #{isDelete,jdbcType=INTEGER},
            #{sysVersion,jdbcType=TINYINT},
            #{reserve1,jdbcType=VARCHAR},
            #{reserve2,jdbcType=VARCHAR},
        </trim>
    </insert>
    <!-- 修改实体 -->
    <update id="updateConBoxGoods" parameterType="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods">
        update con_box_goods
        <set>
            <trim prefix="" suffix="" suffixOverrides=",">
                <if test="id != null">
                    id = #{id,jdbcType=BIGINT},
                </if>
                <if test="sellerNo != null">
                    seller_no = #{sellerNo,jdbcType=VARCHAR},
                </if>
                <if test="sellerName != null">
                    seller_name = #{sellerName,jdbcType=VARCHAR},
                </if>
                <if test="boxNo != null">
                    box_no = #{boxNo,jdbcType=VARCHAR},
                </if>
                <if test="boxName != null">
                    box_no = #{boxName,jdbcType=VARCHAR},
                </if>
                <if test="storeNo != null">
                    store_no = #{storeNo,jdbcType=VARCHAR},
                </if>
                <if test="storeName != null">
                    store_name = #{storeName,jdbcType=VARCHAR},
                </if>
                <if test="goodsNo != null">
                    goods_no = #{goodsNo,jdbcType=VARCHAR},
                </if>
                <if test="salesPrice != null">
                    sales_price = #{salesPrice,jdbcType=DECIMAL},
                </if>
                <if test="discount != null">
                    discount = #{discount,jdbcType=DECIMAL},
                </if>
                <if test="realtimePrice != null">
                    realtime_price = #{realtimePrice,jdbcType=DECIMAL},
                </if>
                <if test="insidePrice != null">
                    inside_price = #{insidePrice,jdbcType=DECIMAL},
                </if>
                <if test="stockQtyNorm != 0">
                    stock_qty_norm = #{stockQtyNorm,jdbcType=INTEGER},
                </if>
                <if test="projectNo != null">
                    project_no = #{projectNo,jdbcType=VARCHAR},
                </if>
                <if test="projectName != null">
                    project_name = #{projectName,jdbcType=VARCHAR},
                </if>
                <if test="templateNo != null">
                    template_no = #{templateNo,jdbcType=VARCHAR},
                </if>
                <if test="templateName != null">
                    template_name = #{templateName,jdbcType=VARCHAR},
                </if>
                <if test="stockThreshold != 0">
                    stock_threshold = #{stockThreshold,jdbcType=INTEGER},
                </if>
                <if test="goodsStatus != 0">
                    goods_status = #{goodsStatus,jdbcType=INTEGER},
                </if>
                <if test="shelves != null">
                    shelves = #{shelves,jdbcType=VARCHAR},
                </if>
                <if test="createTime != null">
                    create_time = #{createTime,jdbcType=TIMESTAMP},
                </if>
                <if test="updateTime != null">
                    update_time = #{updateTime,jdbcType=TIMESTAMP},
                </if>
                <if test="createUser != null">
                    create_user = #{createUser,jdbcType=VARCHAR},
                </if>
                <if test="updateUser != null">
                    update_user = #{updateUser,jdbcType=VARCHAR},
                </if>
                <if test="ts != null">
                    ts = #{ts,jdbcType=TIMESTAMP},
                </if>
                <if test="isDelete != 0">
                    is_delete = #{isDelete,jdbcType=INTEGER},
                </if>
                <if test="sysVersion != 0">
                    sys_version = #{sysVersion,jdbcType=TINYINT},
                </if>
                <if test="reserve1 != null">
                    reserve1 = #{reserve1,jdbcType=VARCHAR},
                </if>
                <if test="reserve2 != null">
                    reserve2 = #{reserve2,jdbcType=VARCHAR},
                </if>
            </trim>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
    <!-- 删除实体 -->
    <update id="deleteConBoxGoods" parameterType="Long">
        update con_box_goods
        <set>
            is_delete=1
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>

    <!--相关设备商品表 sller_no  sku price  更新人,更新时间-->
    <update id="updateConBoxGoodsPrice" parameterType="com.jd.jdx.x.sr.cms.domain.container.model.ConBoxGoods">
        update con_box_goods
        <set>
            <trim prefix="" suffix="" suffixOverrides=",">
                realtime_price = #{realtimePrice,jdbcType=DECIMAL},
                update_time = #{updateTime,jdbcType=TIMESTAMP},
                update_user = #{updateUser,jdbcType=VARCHAR}
            </trim>
        </set>
        where seller_no=#{sellerNo,jdbcType=VARCHAR} and goods_no=#{goodsNo,jdbcType=VARCHAR}
    </update>


    <update id="updateListBoxGoodsPrice" parameterType="java.util.List">
        update con_box_goods
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="realtime_price =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.realtimePrice!=null">
                        when id=#{i.id} then #{i.realtimePrice}
                    </if>
                </foreach>
            </trim>
            <trim prefix="update_time =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.updateTime!=null">
                        when id=#{i.id} then #{i.updateTime}
                    </if>
                </foreach>
            </trim>
            <trim prefix="update_user =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.updateUser!=null">
                        when id=#{i.id} then #{i.updateUser}
                    </if>
                </foreach>
            </trim>
        </trim>
        where
        <foreach collection="list" separator="or" item="i" index="index">
            id=#{i.id}
        </foreach>
    </update>


</mapper>
原文地址:https://www.cnblogs.com/honghong75042/p/12541111.html