mybatis Selective动态判断属性值新增或修改操作,batch批量操作

mybatis Selective动态判断属性值新增或修改操作,batch批量操作


mybatis insert foreach批量添加
https://www.cnblogs.com/oktokeep/p/17629512.html

<insert id="insertSelective" parameterType="com.common.entity.OrderDO">
        insert into tbl_order
        <trim prefix="(" suffix=")" suffixOverrides="," >
            <if test="partner != null">`partner` </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
            <if test="partner != null">#{partner}  </if>
        </trim>
    </insert>

<update id="updateByPrimaryKeySelective" parameterType="com.common.entity.OrderDO">
    update tbl_order 
    <set>
            <if test="partner != null">`partner` = #{partner} </if>
    </set>
    where id = #{id}
</update>
    

##批量新增操作,根据第一个字段的属性值来判断    
    <insert id="insertSelectiveBatch" parameterType="java.util.List">
        insert into tbl_order
        <trim prefix="(" suffix=")" suffixOverrides="," >
            <if test="list[0].partner != null">`partner` </if>
        </trim>
        values
        <foreach collection="list" item="coupon" index="index" separator=",">
            <trim prefix="(" suffix=")" suffixOverrides="," >
                <if test="coupon.partner != null">#{coupon.partner}  </if>
            </trim>
        </foreach>
    </insert>            
    

##全部添加
    <insert id="insertSelectiveBatch" parameterType="java.util.List">
        insert into tbl_order
        <trim prefix="(" suffix=")" suffixOverrides="," >
            `partner`
        </trim>
        values
        <foreach collection="list" item="coupon" index="index" separator=",">
            <trim prefix="(" suffix=")" suffixOverrides="," >
                #{coupon.partner}
            </trim>
        </foreach>
    </insert>            

 

posted on 2024-06-08 07:21  oktokeep  阅读(18)  评论(0编辑  收藏  举报