簡體   English   中英

將數據從Spring DAO層返回到spring Service層

[英]Returning data from spring DAO layer to spring Service layer

目前,我正在spring dao層方法內執行sql查詢,該方法向我返回java ResultSet對象。 我直接將此ResultSet對象返回到spring服務層。 想知道,這是返回完整ResultSet的好方法嗎? 如果不是,則以不同的形式返回結果集,如果我們獲得不同的名稱,則返回結果集。 查詢數據庫時,基於某些條件的ResultSet中的列數。

而不是返回ResultSet ,您應該考慮返回實體對象的CollectionSetList等)。 您的DAO通常會從ResultSet讀取,從中ResultSet實體對象的Collection ,然后將其返回到服務層。 您當前正在做的是將持久層的實現細節公開給服務層。 如果將持久性更改為(例如)休眠,則也需要更改服務層。

同樣,如果查詢從同一張表中提取不同數量的列,則可以從DAO返回不同類型的實體對象,例如BasicUserDetails (僅包含基本屬性集)和UserDetails (包含所有屬性)。 如果您希望持久層具有這種動態性,則需要確保服務層了解要返回的數據類型。

您的DAO必須返回對象的集合。 不返回ResultSet。 服務層是您執行業務邏輯的地方。 我們實際上正在做的是創建適配器接口來訪問業務對象。 因此,您的服務類除了業務邏輯外別無其他。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM