【SQL】批量操作:批量插入、删除

1、批量删除
<delete id="deleteLanguageBatch"> delete from user where <foreach collection="list" item="item" separator="or"> id = #{item.id} name = #{item.name} </foreach> </delete>
复制代码
2、批量插入
<
!-- 批量插入 --> <insert id="batchInsert" parameterType="java.util.List"> INSERT INTO ORDER_GOODS
     (
     OG_ID, ORDER_ID, GOODS_DBID
     )
VALUE
     <foreach collection="orderGoodsList" item="item" separator=",">

#{item.ogId},
#{item.orderId},
#{item.goodsDbid}
)
    </foreach>
</insert>
 
复制代码

 3、批量插入:如果这条记录已存在,则执行更新操作,否则执行插入

复制代码
    <!--更新商品库存和销量-->
    <insert id="batchUpdateGoodsNum" parameterType="list">
        INSERT INTO GOODS_INFO(
        GOODS_DBID,
        GOODS_CAN_BUY,
        GOODS_STOCK,
        GOODS_SOLD
        )
        VALUE
        <foreach collection="goodsInfoList" item="item" separator=",">
            (
            #{item.goodsDbid},
            #{item.goodsCanBuy},
            #{item.goodsStock},
            #{item.goodsSold}
            )
        </foreach>
        ON DUPLICATE KEY UPDATE
        GOODS_DBID = VALUES (GOODS_DBID),
        GOODS_CAN_BUY = VALUES (GOODS_CAN_BUY),
        GOODS_STOCK = VALUES (GOODS_STOCK),
        GOODS_SOLD = VALUES (GOODS_SOLD)
    </insert>
复制代码

 

posted @   CEO雷总  阅读(3565)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示