通用 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)
:根據查詢條件查詢單條記錄,若符合條件的記錄有多條,會拋出異常,適用于確保查詢結果唯一的場景。