国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA實現(xiàn)存在更新不存在插入與及多余的進行刪除(三)

這篇具有很好參考價值的文章主要介紹了JAVA實現(xiàn)存在更新不存在插入與及多余的進行刪除(三)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這個版本,主要是迭代重載了下save方法,不廢話,直接上代碼:

    /**
     * 保存數(shù)據(jù),處理數(shù)據(jù)的增刪改
     *
     * @param paramData 前臺的參數(shù)
     * @param dbData    后臺的數(shù)據(jù)
     * @param clazz     前后臺參數(shù)對應(yīng)的class
     * @param beanName      spring bean服務(wù)實現(xiàn)類名稱 首字母轉(zhuǎn)小寫
     * @return  SUCCESS:操作成功
     */
    String saveData(List<T> paramData, List<T> dbData, Class clazz,String beanName);

    /**
     * 重載saveData 自適應(yīng)找到對應(yīng)的clazz與beanName
     *
     * @param paramData
     * @param dbData
     * @return
     */
    String saveData(List<T> paramData, List<T> dbData);

具體實現(xiàn)類對應(yīng)的重載方法如下:

    @Override
    public String saveData(List<T> paramData, List<T> dbData) {
        if (CollectionUtils.isEmpty(paramData) && CollectionUtils.isEmpty(dbData)) {
            throw new CustomException("入?yún)⑴c數(shù)據(jù)庫數(shù)據(jù)不能都為空");
        }
        Class clazz;
        clazz = CollectionUtils.isNotEmpty(paramData) ? paramData.get(0).getClass() : dbData.get(0).getClass();
        String name = clazz.getSimpleName();
        char[] charArray = name.toCharArray();
        charArray[0] += 32;
        String possibleBeanName = String.valueOf(charArray) + "ServiceImpl";
        String beanName = "";
        String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
        for (String beanDefinitionName : beanDefinitionNames) {
            if (beanDefinitionName.indexOf(possibleBeanName) > -1) {
                beanName = beanDefinitionName;
                return saveData(paramData, dbData, clazz, beanName);
            }
        }
        throw new CustomException("根據(jù)實體類" + name + "沒找到對應(yīng)的bean服務(wù)");
    }

然后就是頭部加多了

implements ICudDataService<T>, ApplicationContextAware。

通過這個ApplicationContextAware獲取到所有bean服務(wù),膚淺地以實體類拼湊一下服務(wù)名,找到bean服務(wù)就作為這個調(diào)用的bean服務(wù)

這個更正都基于

JAVA實現(xiàn)存在更新不存在插入與及多余的進行刪除(二)_mybatisplus存在更新否則新增_wackpa的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-636073.html

到了這里,關(guān)于JAVA實現(xiàn)存在更新不存在插入與及多余的進行刪除(三)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Mybatis 中傳入List實現(xiàn) 批量插入、批量更新、批量刪除

    Mybatis 中傳入List實現(xiàn) 批量插入、批量更新、批量刪除

    個人收藏使用 文章來自Mybatis 中傳入List實現(xiàn) 批量插入、批量更新、批量刪除 - chelsey3tsf - 博客園 (cnblogs.com) 1. 批量插入 : Mapper層: 對應(yīng)的mapper.xml: 如果List數(shù)據(jù)量比較大,可以考慮將List分批次插入 2. 批量更新: 批量更新只提供更新單個字段的,因為更新多個字段無論哪種

    2024年02月11日
    瀏覽(27)
  • C語言中實現(xiàn)順序表的插入、刪除和更新操作(附帶源碼)

    C語言中,順序表是一種線性表的存儲結(jié)構(gòu),可以通過數(shù)組來實現(xiàn)。以下是順序表的插入、刪除和更新操作的基本示例: 刪除操作: 更新操作: 這些示例代碼演示了如何在C語言中實現(xiàn)順序表的插入、刪除和更新操作。你可以根據(jù)需要進行修改和擴展。 希望你也學(xué)會了,更多

    2024年01月24日
    瀏覽(23)
  • Springboot Mybatis 不存在插入數(shù)據(jù),存在則更新數(shù)據(jù)

    Springboot Mybatis 不存在插入數(shù)據(jù),存在則更新數(shù)據(jù)

    是不是經(jīng)??吹酱a, 查一下數(shù)據(jù)庫,如果存在數(shù)據(jù),就做更新語句調(diào)用; 如果不存在,就插入。 今天該篇介紹的 是使用? ? ?INSERT INTO ? ? ? ?ON DUPLICATE KEY UPDATE ? ? ? ?來實現(xiàn)我們上述的場景, 不需要自己再判斷來判斷去的。 ON DUPLICATE key update 是根據(jù)主鍵索引或者唯一

    2024年02月13日
    瀏覽(24)
  • MYSQL不存在插入 存在更新的解決方法和對比

    MYSQL不存在插入 存在更新的解決方法和對比

    設(shè)置主鍵id自增,name為唯一索引 /句: insert ignore into ,如果插入的數(shù)據(jù)會導(dǎo)致 UNIQUE索引 或 PRIMARY KEY 發(fā)生沖突/重復(fù),則忽略此次操作/不插入數(shù)據(jù),例: 這里已經(jīng)存在 name=\\\'Jack”的數(shù)據(jù),所以會忽略新插入的數(shù)據(jù),受影響行數(shù)為 0,表數(shù)據(jù)不變 需要注意 主鍵會自增 當(dāng)使用

    2024年02月02日
    瀏覽(23)
  • Java8 實現(xiàn)批量插入和更新,SpringBoot實現(xiàn)批量插入和更新,Mybatis實現(xiàn)批量插入和更新

    基于mybatis實現(xiàn)的批量插入和更新 由于直接執(zhí)行批量所有數(shù)據(jù)可能會出現(xiàn)長度超出報錯問題,使用如下方式即可解決 原理還是分配執(zhí)行,這里的100就是設(shè)定每次執(zhí)行最大數(shù) 這里使用插入作為例子,也可以使用批量更新 更新的寫法

    2024年02月12日
    瀏覽(31)
  • Python操作excel進行插入、刪除行操作實例演示,利用xlwings庫實現(xiàn)

    Python操作excel進行插入、刪除行操作實例演示,利用xlwings庫實現(xiàn)

    插入行演示采用正序遍歷操作,直接使用 xlwings 提供的 sheet.api.Rows(\\\"行數(shù)\\\").Insert() 方法就能實現(xiàn)整行插入處理。 需要注意的是 ,如果是前插入,要避免再次檢測到剛才匹配過的內(nèi)容,以防循環(huán)反復(fù)插入原位置。 調(diào)整前: 處理過程: 調(diào)整后: 刪除行演示采用逆序遍歷操作,

    2023年04月08日
    瀏覽(15)
  • Mybatis新增數(shù)據(jù),存在就更新,不存在就添加,Mysql避免重復(fù)插入數(shù)據(jù)的4種方式

    即插入數(shù)據(jù)時,如果數(shù)據(jù)存在,則忽略此次插入,前提條件是插入的數(shù)據(jù)字段設(shè)置了主鍵或唯一索引,測試SQL語句如下,當(dāng)插入本條數(shù)據(jù)時,MySQL數(shù)據(jù)庫會首先檢索已有數(shù)據(jù)(也就是idx_username索引),如果存在,則忽略本次插入,如果不存在,則正常插入數(shù)據(jù)。 即插入數(shù)據(jù)時

    2024年02月11日
    瀏覽(30)
  • .NET 數(shù)據(jù)庫大數(shù)據(jù)操作方案(插入、更新、刪除、查詢 、插入或更新)

    海量數(shù)據(jù)操作ORM性能瓶頸在實體轉(zhuǎn)換上面,并且不能使用常規(guī)的Sql去實現(xiàn) 當(dāng)列越多轉(zhuǎn)換越慢,SqlSugar將轉(zhuǎn)換性能做到極致,并且采用數(shù)據(jù)庫最佳API 操作數(shù)據(jù)庫達到極限性能,當(dāng)然你如果不用sqlsugar了解一下原理也可以使用其他ORM實現(xiàn) ? BulkCopy是一種用于高效批量插入大量數(shù)據(jù)

    2024年02月08日
    瀏覽(23)
  • ElasticSearch7.3學(xué)習(xí)(十六)----RestHighLevelClient Java api實現(xiàn)索引的創(chuàng)建、刪除、是否存在、關(guān)閉、開啟

    注意:導(dǎo)入的包區(qū)別,不同的包創(chuàng)建索引的方式不同。博主親身實踐,具體體現(xiàn)在createIndexRequest.mapping()里面。讀者可自行試驗。 ?由此可以猜想一下: 可以看到上述兩種方式導(dǎo)入的包的子類名是相同的,但是具體對索引的操作方式可能是不同的。具體的區(qū)別博主暫時還不清

    2024年02月16日
    瀏覽(90)
  • Java進階(3)——手動實現(xiàn)ArrayList & 源碼的初步理解分析 & 數(shù)組插入數(shù)據(jù)和刪除數(shù)據(jù)的問題

    Java進階(3)——手動實現(xiàn)ArrayList & 源碼的初步理解分析 & 數(shù)組插入數(shù)據(jù)和刪除數(shù)據(jù)的問題

    1.ArrayList的結(jié)構(gòu)分析,可迭代接口,是List的實現(xiàn); 2.數(shù)組增加元素和刪除元素的分析,何時擴容,如何擴容; 3.插入數(shù)據(jù)的復(fù)雜度O(N); 4.數(shù)組特點:查找和修改容易O(1);增加和刪除復(fù)雜O(N); 增加元素 如果放不下怎么辦?如何擴容? 擴容后如何操作? 擴容:每次為原來的

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包