最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis使用case when按照條件進行更新方式

 更新時間:2025年07月24日 08:38:09   作者:linab112  
示例一通過條碼批量更新入庫和剩余數(shù)量,直接高效;示例二使用set和trim標簽,實現(xiàn)動態(tài)字段更新與條件優(yōu)化,結(jié)構(gòu)更復(fù)雜但靈活性更高

mybatis使用case when按照條件更新

示例代碼

<update id="updateNrPurchaseOrderDetailByGoodsBarcode">
    update nr_purchase_order_detail
    set stored_num =
    <foreach collection="barcodeList" item="item" index="index"
             separator=" " open="case goods_barcode" close="end">
        when #{item.barcode} then stored_num + #{item.receiveNum}
    </foreach>
    ,unstored_num =
    <foreach collection="barcodeList" item="item" index="index"
             separator=" " open="case goods_barcode" close="end">
        when #{item.barcode} then actual_goods_num - stored_num
    </foreach>
    where goods_barcode in
    <foreach collection="barcodeList" item="item" index="index" separator="," open="(" close=")">
        #{item.barcode}
    </foreach>
    and parent_id = #{id}
</update>
<!--caseWhen形式更新-->
<update id="testCaseWhen" parameterType="java.util.Map">
    UPDATE ${user}
    <set>
        <trim prefix="id= CASE id" suffix="END,">
            <foreach collection="list" item="param">
                <if test="param.id != null and id != ''">
                    WHEN #{param.id} THEN #{param.id}
                </if>
            </foreach>
        </trim>
        <trim prefix="username = CASE id" suffix="END,">
            <foreach collection="list" item="param">
                <if test="param.username != null and param.username != ''">
                    WHEN #{param.} THEN #{param.username}
                </if>
            </foreach>
        </trim>
        <trim prefix="password = CASE id" suffix="END,">
            <foreach collection="list" item="param">
                <if test="param.password != null and param.password != ''">
                    WHEN #{param.id} THEN #{param.password}
                </if>
            </foreach>
        </trim>
    </set>
    <where>
        id in
        <foreach collection="list" item="param" separator="," open="(" close=")">
            #{param.id}
        </foreach>
    </where>
</update>

說明

上述第一個示例中,按照條碼進行批量更新,將所有的條碼對應(yīng)的入庫數(shù)量和剩余數(shù)量進行更新。

第二個示例中,又使用了set標簽和trim標簽,感覺更為復(fù)雜。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java如何獲取用戶登錄ip、瀏覽器信息、SessionId

    java如何獲取用戶登錄ip、瀏覽器信息、SessionId

    這篇文章主要介紹了java如何獲取用戶登錄ip、瀏覽器信息、SessionId,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 徹底搞明白Spring中的自動裝配和Autowired注解的使用

    徹底搞明白Spring中的自動裝配和Autowired注解的使用

    這篇文章主要介紹了徹底搞明白Spring中的自動裝配和Autowired注解的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • 如何使用Java語言編寫打地鼠游戲全過程

    如何使用Java語言編寫打地鼠游戲全過程

    打地鼠是我們非常熟悉的一款小游戲,它的游戲結(jié)構(gòu)和規(guī)則也都比較簡單,那么如果能夠親自徒手開發(fā)這樣的一款經(jīng)典小游戲呢?這篇文章主要給大家介紹了關(guān)于如何使用Java語言編寫打地鼠游戲的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • java實現(xiàn)對兩張表進行數(shù)據(jù)同步

    java實現(xiàn)對兩張表進行數(shù)據(jù)同步

    文章描述了在Java中使用SQL Server的MERGE語句實現(xiàn)兩張表的同步操作,適用于主表查詢、附表增刪改的場景,MERGE語句可以同時執(zhí)行插入和更新操作,適用于Oracle和SQL Server,但不適用于MySQL和PostgreSQL,可通過自定義注解實現(xiàn)接口調(diào)用后的同步操作
    2026-05-05
  • Springboot?中使用Sentinel的詳細步驟

    Springboot?中使用Sentinel的詳細步驟

    文章介紹了如何在SpringBoot中使用Sentinel進行限流和熔斷降級,首先添加依賴,配置Sentinel控制臺地址,定義受保護的資源,配置流控規(guī)則,啟動Sentinel控制臺和SpringBoot應(yīng)用,最后測試和監(jiān)控,感興趣的朋友一起看看吧
    2025-02-02
  • 徹底了解java中ReentrantLock和AQS的源碼

    徹底了解java中ReentrantLock和AQS的源碼

    這篇文章主要介紹了徹底了解java中ReentrantLock和AQS的源碼,想了解鎖機制的同學(xué),一定要參考下
    2021-04-04
  • Java ArrayList add(int index, E element)和set(int index, E element)兩個方法的說明

    Java ArrayList add(int index, E element)和set(int index, E el

    今天小編就為大家分享一篇關(guān)于Java ArrayList add(int index, E element)和set(int index, E element)兩個方法的說明,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • IDEA反編譯jar,查看源碼方式

    IDEA反編譯jar,查看源碼方式

    該篇文章總結(jié)了查看Java本地jar包注釋的幾種方法,包括使用快捷鍵CTRL+q和在設(shè)置中設(shè)置自動浮現(xiàn)注釋
    2024-11-11
  • Mybatis 查詢語句條件為枚舉類型時報錯的解決

    Mybatis 查詢語句條件為枚舉類型時報錯的解決

    這篇文章主要介紹了Mybatis 查詢語句條件為枚舉類型時報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot容器化部署之Docker與Kubernetes操作指南

    SpringBoot容器化部署之Docker與Kubernetes操作指南

    本文介紹了如何將SpringBoot應(yīng)用進行容器化部署,通過Docker和Kubernetes進行編排和管理,涵蓋了從項目創(chuàng)建、Dockerfile編寫、鏡像構(gòu)建、容器運行到Kubernetes部署、監(jiān)控和維護的全流程
    2025-12-12

最新評論

洪江市| 威信县| 响水县| 永年县| 驻马店市| 竹溪县| 曲阳县| 饶河县| 高陵县| 冀州市| 宁化县| 广昌县| 犍为县| 孟连| 铁岭市| 衡阳县| 宿松县| 长岛县| 长乐市| 三明市| 岢岚县| 卓尼县| 柞水县| 丹凤县| 徐闻县| 海盐县| 瓦房店市| 崇文区| 沽源县| 扶风县| 兖州市| 二连浩特市| 吴忠市| 河池市| 都昌县| 库尔勒市| 屏东市| 萨迦县| 封开县| 于田县| 樟树市|