項目筆記1:通用 Service的常見方法

通用 Service 通常封裝了常見的業務邏輯操作,以提高代碼的復用性和可維護性。不同的框架和業務場景下,通用 Service 的方法會有所差異,但一般都會包含一些基本的增刪改查(CRUD)操作,以下為你詳細介紹:

基本的 CRUD 方法

  • 創建(Create)
    • save(T entity):用于保存單個實體對象到數據庫中。例如在一個用戶管理系統里,使用此方法保存新注冊的用戶信息。
    • saveBatch(Collection<T> entityList):批量保存實體對象集合,能提高數據插入效率,像一次性導入多個用戶信息到系統時就會用到。
  • 讀取(Read)
    • getById(ID id):依據主鍵 ID 從數據庫中獲取單個實體對象。例如根據用戶 ID 獲取特定用戶的詳細信息。
    • list():查詢數據庫中該實體的所有記錄,返回一個實體列表,常用于展示所有用戶列表的場景。
    • list(Wrapper<T> queryWrapper):根據自定義的查詢條件(如年齡大于 18 歲、姓名包含特定字符等)查詢符合條件的實體列表。
    • page(Page<T> page, Wrapper<T> queryWrapper):實現分頁查詢,可指定每頁顯示的記錄數和當前頁碼,還能結合查詢條件進行篩選,常用于展示大量數據時的分頁顯示。
  • 更新(Update)
    • updateById(T entity):根據實體對象的主鍵 ID 更新數據庫中的記錄,例如修改用戶的聯系方式。
    • update(T entity, Wrapper<T> updateWrapper):按照自定義的更新條件更新數據庫記錄,比如將所有年齡大于 60 歲的用戶狀態標記為 “老年用戶”。
  • 刪除(Delete)
    • removeById(ID id):根據主鍵 ID 從數據庫中刪除單個實體記錄,如刪除某個不再使用的用戶賬號。
    • remove(Wrapper<T> queryWrapper):根據自定義的刪除條件刪除符合條件的數據庫記錄,例如刪除所有狀態為 “已停用” 的用戶記錄。

其他常用方法

  • 統計類
    • count():統計數據庫中該實體的記錄總數,可用于顯示用戶總數等信息。
    • count(Wrapper<T> queryWrapper):統計符合特定查詢條件的記錄數量,如統計年齡在 20 - 30 歲之間的用戶數量。
  • 條件查詢輔助類
    • getOne(Wrapper<T> queryWrapper):根據查詢條件查詢單條記錄,若符合條件的記錄有多條,會拋出異常,適用于確保查詢結果唯一的場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903044.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903044.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903044.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云99機器總是宕機,實測還是磁盤性能差

阿里云99計劃總是宕機&#xff0c;經過反復排查&#xff0c;最終確認還是磁盤性能差。 阿里云99機器使用的磁盤類型是Entry云盤40GiB (2120 IOPS) 按照官方的一些數據&#xff0c;這個磁盤最小iops是1800最大是6000,實際使用中發現&#xff0c;這個6000值很虛&#xff0c;這個…

Fedora 43 計劃移除所有 GNOME X11 相關軟件包

Fedora 43 計劃移除所有 GNOME X11 相關軟件包&#xff0c;這是 Fedora 項目團隊為全面擁抱 Wayland 所做的重要決策。以下是關于此計劃的詳細介紹&#xff1a; 提案內容&#xff1a;4 月 23 日&#xff0c;Neal Gompa 提交提案&#xff0c;建議從 Fedora 軟件倉庫中移除所有 G…

魔幻預言手游》:職業介紹!

在《魔幻預言》手游中&#xff0c;共有武玄、魔魅、劍仙三大核心職業&#xff0c;各具特色且定位鮮明&#xff0c;以下為具體介紹&#xff1a; 一、武玄&#xff08;戰士&#xff09; 核心定位&#xff1a;近戰物理輸出與團隊增益擔當&#xff0c;兼具控制與防御能力。 戰斗風…

精益數據分析(27/126):剖析用戶價值與商業模式拼圖

精益數據分析&#xff08;27/126&#xff09;&#xff1a;剖析用戶價值與商業模式拼圖 在創業和數據分析的領域中&#xff0c;每一次深入學習都是一次成長的契機。今天&#xff0c;我們繼續秉持共同進步的理念&#xff0c;深入研讀《精益數據分析》&#xff0c;剖析用戶價值的…

【SwitchyOmega安裝教程】

目錄 一、插件安裝 1. 下載安裝文件 2. 打開瀏覽器擴展安裝頁面 3. 安裝插件 二、界面詳情 三、配置信息 3.1 設置IP 1、查看IP地址信息 2、批量測試IP是否有效 3、點擊擴展程序&#xff0c;選擇 Proxy SwitchyOmega 4、 點擊選項進行配置 5、配置頁面 一、插件安裝 1…

矯平機終極指南:特殊材料處理、工藝鏈協同與全球供應鏈管理

一、特殊材料矯平&#xff1a;挑戰與創新解決方案 1. 高溫合金&#xff08;如Inconel 718&#xff09;處理 技術難點&#xff1a; 屈服強度高達1100 MPa&#xff0c;傳統矯平力不足 高溫下易氧化&#xff0c;需惰性氣體保護環境 解決方案&#xff1a; 采用雙伺服電機驅動&a…

反事實——AI與思維模型【82】

一、定義 反事實思維模型是一種心理認知模型,它指的是人們在頭腦中對已經發生的事件進行否定,然后構建出一種可能性假設的思維活動。簡單來說,就是思考“如果當時……,那么就會……”的情景。這種思維方式讓我們能夠超越現實的限制,設想不同的可能性和結果,從而對過去的…

Nginx:支持 HTTPS

文章目錄 Nginx 開啟 ssl 以支持 HTTPS1 生成本地證書2 開啟 ssl 以支持 HTTPS3 將 https 的請求轉發給 http 最終的 nginx.conf 如下 Nginx 開啟 ssl 以支持 HTTPS [!IMPORTANT] 在下文中&#xff0c;將采用如下定義。 HTTP端口&#xff1a; 80 HTTPS端口&#xff1a; 443 服務…

[計算機科學#2]:從繼電器到晶體管的電子計算機發展史(龐然大物的進化)

【核知坊】&#xff1a;釋放青春想象&#xff0c;碼動全新視野。 我們希望使用精簡的信息傳達知識的骨架&#xff0c;啟發創造者開啟創造之路&#xff01;&#xff01;&#xff01; 內容摘要&#xff1a;本文講述了20世紀初至1950年代計算機技術的發展歷程…

【ESP32S3】Cache 框圖和操作

ESP32-S3 采用雙核共享 ICache (指令緩存) 和 DCache &#xff08;數據緩存&#xff09; 結構&#xff0c;如下圖所示。以便當 CPU 的指令總線和數據總線同時發起請求時&#xff0c;也可以迅速響應&#xff1a; Cache 的存儲空間與內部存儲空間可以復用。具體為 Internal SRAM0…

wireshark從HEX轉儲導入使用方法

官方資料: https://www.wireshark.org/docs/wsug_html_chunked/ChIOImportSection.html 方法1&#xff1a; 文本文件&#xff0c;純內容導入: ff ff ff ff ff ff 00 00 00 00 5f 0f 08 06 00 01 08 00 06 04 00 01 00 00 00 00 5f 0f 64 01 60 10 00 00 00 00 00 00 64 01 01…

【Android】四大組件之Activity

目錄 一、什么是Activity 二、如何創建和配置Activity 三、Activity 跳轉與數據傳遞 四、數據保存與恢復 五、Activity 啟動模式 六、自定義返回行為 七、復雜界面布局 你可以把Activity想象成手機屏幕上的一個“頁面”。比如&#xff0c;當你打開一個App時&#xff0c;…

uml類關系(實現、繼承,聚合、組合,依賴、關聯)

drawio和EA是架構設計時經常使用的畫圖工具。 drawio學習門檻低&#xff0c;使用靈活&#xff0c;但是功能僅僅限于畫圖。 EA學習門檻高&#xff0c;但是功能更加的豐富&#xff1a; ①在畫圖方面&#xff0c;EA嚴格滿足UML標準&#xff0c;EA中的圖和類是關聯的&#xff0c…

C++如何設計線程池(thread pool)來提高線程的復用率,減少線程創建和銷毀的開銷

線程池的基本概念與多線程編程中的角色 線程池&#xff0c;顧名思義&#xff0c;是一種管理和復用線程的資源池。它的核心思想在于預先創建一定數量的線程&#xff0c;并將這些線程保持在空閑狀態&#xff0c;等待任務的分配。一旦有任務需要執行&#xff0c;線程池會從池中取出…

React.memo 和 useMemo

現象 React 中&#xff0c;通常父組件的某個state發生改變&#xff0c;會引起父組件的重新渲染&#xff08;和其他state的重新計算&#xff09;&#xff0c;從而會導致子組件的重新渲染&#xff08;和其他非相關屬性的重新計算&#xff09; 問題一&#xff1a;如何避免因為某個…

防火墻技術深度解析:從包過濾到云原生防火墻的部署與實戰

防火墻技術深度解析&#xff1a;從包過濾到云原生防火墻的部署與實戰 在網絡安全防御體系中&#xff0c;防火墻是第一道物理屏障&#xff0c;承擔著“網絡流量守門人”的核心角色。從早期基于IP地址的包過濾設備到如今集成AI威脅檢測的云原生防火墻&#xff0c;其技術演進始終…

strcmp()在C語言中怎么用(附帶實例)

C語言標準庫中的 strcmp() 函數用于比較兩個字符串。 strcmp() 函數原型如下&#xff1a; int strcmp (const char * str1, const char * str2); const char *str1 表示待比較字符串 1 的首地址&#xff1b;const char *str2 表示待比較字符串 2 的首地址。 如果兩個字符串相…

搜廣推校招面經八十二

一、L1 和 L2 正則化的區別&#xff1f;對數據分布有什么要求&#xff0c;它們都能防止過擬合嗎&#xff1f; 1.1. L1 與 L2 正則化的區別 特性L1 正則化&#xff08;Lasso&#xff09;L2 正則化&#xff08;Ridge&#xff09;正則項λ * ∑|w?| λ ? ∑ ( w i 2 ) λ * ∑…

數據結構和算法(九)--紅黑樹

一、紅黑樹 1、紅黑樹 前面介紹了2-3樹&#xff0c;可以看到2-3樹能保證在插入元素之后&#xff0c;樹依然保持平衡狀態&#xff0c;它的最壞情況下所有子結點都是2-結點&#xff0c;樹的高度為IgN&#xff0c;相比于我們普通的二叉查找樹&#xff0c;最壞情況下樹的高度為N,確…

工業攝像頭通過USB接口實現圖像

工業攝像頭系列概覽&#xff1a;類型與應用 工業攝像頭系列涵蓋了多種類型&#xff0c;以滿足不同行業和應用的需求。以下是對工業攝像頭系列的一些介紹&#xff1a; 一、主要類型與特點 USB工業攝像頭 &#xff1a;這類攝像頭通常通過USB接口與計算機連接&#xff0c;適用于…