欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?spring?boot實(shí)現(xiàn)批量刪除功能詳細(xì)示例

 更新時(shí)間:2023年08月18日 11:31:10   作者:丘比特懲罰陸  
這篇文章主要給大家介紹了關(guān)于Java?spring?boot實(shí)現(xiàn)批量刪除功能的相關(guān)資料,文中通過(guò)代碼以及圖文將實(shí)現(xiàn)的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

根據(jù)前面的刪除的功能的實(shí)現(xiàn),現(xiàn)在我們來(lái)實(shí)現(xiàn)一個(gè)可以批量刪除的功能,不懂刪除功能的可以跳到主頁(yè)去搜索Java刪除的功能即可,這里就不多進(jìn)行啰嗦,那么進(jìn)入正題!

原理:

批量刪除的原理是通過(guò)一個(gè)循環(huán)來(lái)遍歷要?jiǎng)h除的用戶信息的ID數(shù)組,然后依次調(diào)用單個(gè)刪除礦工信息的方法來(lái)刪除每一個(gè)用戶信息。在刪除的過(guò)程中,統(tǒng)計(jì)成功刪除的信息數(shù)量、失敗刪除的信息數(shù)量以及失敗原因,并最終返回給調(diào)用者。

在實(shí)際操作中,批量刪除通常比單個(gè)刪除效率更高,因?yàn)榕縿h除只需要一次連接數(shù)據(jù)庫(kù)就可以刪除多條數(shù)據(jù),而單個(gè)刪除則需要多次連接數(shù)據(jù)庫(kù)。另外,批量刪除還可以減少數(shù)據(jù)庫(kù)的負(fù)擔(dān),因?yàn)樵谝淮芜B接數(shù)據(jù)庫(kù)的過(guò)程中,可以同時(shí)刪除多條數(shù)據(jù),而不需要多次連接數(shù)據(jù)庫(kù)。

比較一下:

單個(gè)刪除的Controller:

    @CrossOrigin
    @GetMapping("/miner/deleteUser")
    public ResultResponse deleteMiner (@RequestParam Integer id) {
        boolean result = userService.deleteUser(id);
        if(result) {
            return ResultResponse.returnToken(ResultResponse.success("刪除信息成功"));
        } else {
            return ResultResponse.returnToken(ResultResponse.fail("刪除信息失敗"));
        }
    }

通過(guò)GET請(qǐng)求,接收一個(gè)名為id的參數(shù),用于刪除單個(gè)用戶的信息。方法體內(nèi)調(diào)用了userService.deleteMiner方法,將id作為參數(shù)傳遞給業(yè)務(wù)層,如果刪除成功則返回成功的響應(yīng),否則返回失敗的響應(yīng)。

批量刪除的Controller:

  @CrossOrigin
    @PostMapping("/deleteBatchUser")
    public ResultResponse deleteBatchuser(@RequestBody Integer[] ids) {
        int successCount = 0; // 成功的信息
        int failureCount = 0; // 失敗的信息
        List<String> failureReasons = new ArrayList<>();
        for (Integer id : ids) {
            boolean result = userService.deleteUser(id);
            if (result) {
                successCount++;
            } else {
                failureCount++;
                failureReasons.add(String.format("刪除用戶信息 %d 失敗", id));
            }
        }
        // 判斷批量刪除成功和失敗的操作程序
        if (failureCount == 0) {
            return ResultResponse.returnToken(ResultResponse.success(String.format("成功刪除 %d 條用戶信息", successCount)));
        } else {
            String failReason = "未知錯(cuò)誤";
            if (failureReasons.contains("數(shù)據(jù)庫(kù)連接斷開或不穩(wěn)定,導(dǎo)致無(wú)法執(zhí)行刪除操作")) {
                failReason = "數(shù)據(jù)庫(kù)連接問(wèn)題";
            }
            // 返回成功刪除部分信息以及失敗的部分和原因參數(shù)
            return ResultResponse.returnToken(ResultResponse.fail(String.format("成功刪除 %d 條用戶信息  失敗刪除 %d 條信息,失敗原因:%s",successCount, failureCount,failReason)));
        }
    }

postman測(cè)試:

刪除前的數(shù)據(jù)庫(kù):

SEND:

刪除后的數(shù)據(jù)庫(kù):

完成?。?! 

總結(jié)

到此這篇關(guān)于Java spring boot實(shí)現(xiàn)批量刪除功能的文章就介紹到這了,更多相關(guān)Java spring boot批量刪除功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決java.lang.NoClassDefFoundError錯(cuò)誤的問(wèn)題

    解決java.lang.NoClassDefFoundError錯(cuò)誤的問(wèn)題

    在Java開發(fā)過(guò)程中,NoClassDefFoundError是一個(gè)常見(jiàn)的運(yùn)行時(shí)錯(cuò)誤,是由于JVM在運(yùn)行時(shí)找不到已編譯的類文件導(dǎo)致的,本文就來(lái)介紹一下如何解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09
  • 解決IDEA啟動(dòng)springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?javax.servlet.ServletContext

    解決IDEA啟動(dòng)springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?jav

    這篇文章主要介紹了解決IDEA啟動(dòng)springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?javax.servlet.ServletContext問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • spring Security的自定義用戶認(rèn)證過(guò)程詳解

    spring Security的自定義用戶認(rèn)證過(guò)程詳解

    這篇文章主要介紹了spring Security的自定義用戶認(rèn)證過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 使用MyBatis攔截器實(shí)現(xiàn)SQL的完整打印

    使用MyBatis攔截器實(shí)現(xiàn)SQL的完整打印

    當(dāng)我們使用Mybatis結(jié)合Mybatis-plus進(jìn)行開發(fā)時(shí),為了查看執(zhí)行sql的信息通常我們可以通過(guò)屬性配置的方式打印出執(zhí)行的sql語(yǔ)句,但這樣的打印出了sql語(yǔ)句常帶有占位符信息,不利于排錯(cuò),所以本文介紹了構(gòu)建MyBatis攔截器,實(shí)現(xiàn)SQL的完整打印,需要的朋友可以參考下
    2024-07-07
  • Mybatis實(shí)戰(zhàn)之TypeHandler高級(jí)進(jìn)階

    Mybatis實(shí)戰(zhàn)之TypeHandler高級(jí)進(jìn)階

    本文主要介紹了自定義的枚舉TypeHandler的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • java實(shí)現(xiàn)傾斜水印鋪滿整張圖

    java實(shí)現(xiàn)傾斜水印鋪滿整張圖

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)傾斜水印鋪滿整張圖的具體代碼,教大家如何控制水印之間的空隙,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 使用 Java 將 byte[] 轉(zhuǎn)換為 File 對(duì)象并上傳到外部服務(wù)器的方法(最新推薦)

    使用 Java 將 byte[] 轉(zhuǎn)換為 File 對(duì)象并上

    本文展示了如何通過(guò) Java 和 Spring 來(lái)處理圖像文件的獲取、保存和上傳,通過(guò) RestTemplate 獲取字節(jié)數(shù)組并將其轉(zhuǎn)換為 File 對(duì)象,可以輕松實(shí)現(xiàn)從遠(yuǎn)程 URL 獲取文件并將其上傳到外部服務(wù)器,感興趣的朋友一起看看吧
    2025-03-03
  • 詳解SpringBoot 多線程處理任務(wù) 無(wú)法@Autowired注入bean問(wèn)題解決

    詳解SpringBoot 多線程處理任務(wù) 無(wú)法@Autowired注入bean問(wèn)題解決

    這篇文章主要介紹了詳解SpringBoot 多線程處理任務(wù) 無(wú)法@Autowired注入bean問(wèn)題解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 詳解java關(guān)于對(duì)象的比較

    詳解java關(guān)于對(duì)象的比較

    這篇文章主要為大家介紹了java關(guān)于對(duì)象的比較,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • 關(guān)于Spring源碼是如何解決Bean的循環(huán)依賴

    關(guān)于Spring源碼是如何解決Bean的循環(huán)依賴

    這篇文章主要介紹了關(guān)于Spring源碼是如何解決Bean的循環(huán)依賴,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論