MyBatis Mapper文件动态sql语句

1 篇文章 0 订阅
1 篇文章 0 订阅
<!-- insert动态添加语句 -->
<insert id="add" useGeneratedKeys="true" keyProperty="likeId" parameterType="cc.domain.AudioLike">
    insert into ${tableName}
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="audioId != null">
            audio_id,
        </if>
        <if test="userId != null">
            user_id,
        </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
        <if test="audioId != null">
            #{audioId},
        </if>
        <if test="userId != null">
            #{userId},
        </if>
    </trim>
</insert>

<!-- update动态修改语句 -->
<update id="updateOperateNum" parameterType="cc.domain.UserAudioOperateDTO">
    UPDATE ${tableName}
    <trim prefix="set" suffixOverrides=",">
        <if test="likeNum != null">like_num = #{likeNum},</if>
        <if test="collectionNum != null">collection_num = #{collectionNum},</if>
        <if test="commentNum != null">comment_num = #{commentNum},</if>
    </trim>
    where id = #{audioId}
</update>

<!-- select in foreach语句 -->
<select id="selectListBatchAttrIds" resultType="cc.domain.GlobalAttr">
    select <include refid="Base_Column_List"></include>
    from ${tableName} where attr_id in
    <foreach item="item" index="index" collection="attrIdList" open="(" separator="," close=")" >
        #{item}
    </foreach>
</select>

<!-- insert foreach语句 -->
<insert id="addBatch" parameterType="Object">
    insert into ${tableName} (user_id, subscribe_type, order_id, transaction_id, start_time, end_time, create_time) values
    <foreach collection="subscribeList" separator="," item="subscribe">
        (#{subscribe.userId}, #{subscribe.subscribeType}, #{subscribe.orderId}, #{subscribe.transactionId}, #{subscribe.startTime}, #{subscribe.endTime}, #{subscribe.createTime})
    </foreach>
</insert>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值