[英]convert a result set with flat column structure into hierarchical data structure
我在java.sql.ResultSet
中有一個數據庫查詢的結果,該查詢需要轉換為分層數據結構。 看起來像這樣:
name|version|pname|code|count
n1|1.1|p1|c1|3
n1|1.1|p1|c2|2
n1|1.1|p2|c1|1
n1|1.2|p1|c1|0
n2|1.0|p1|c1|5
我需要將其轉換為分層數據結構:
N1
+ 1.1
+ p1
+ c1(3)
+ c2(2)
+ p2
+ c1(1)
+ 1.2
+ p1
+ c1(0)
N2
+ 1.0
+ p1
+ c1(5)
所以我的數據結構看起來像這樣
Name {
String name
List<Version> versions
}
Version {
String version
List<PName> pnames
}
PName {
String pName
List<CodeCount> codeCounts
}
CodeCount {
String code
Integer count
}
有人對最佳方法有建議/代碼段嗎?
有幾種方法,如何執行取決於解決方案的堅固性。
一種方法是只編寫幾個在數據庫中具有屬性的對象。 然后,您可以獲取結果集並對其進行迭代,每次鍵字段(例如,“名稱”)更改時都創建一個新對象,並將其添加到該對象的列表中。 然后,您將適當地設置屬性。 那是“快速而骯臟的”解決方案。
一種更健壯的方法是使用類似Hibernate的方法進行映射。
如果您決定這樣做,我也建議您重做表,以便它們准確反映您的對象結構。 如果您只想快速解決方案,則可能不需要。 但是,如果您正在尋找針對商業或企業軟件的可靠解決方案,則可能是個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.