我在java.sql.ResultSet
中有一个需要转换为分层数据结构的db查询结果。它看起来有点像:
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
}
任何人都有关于最佳方法的建议/代码片段吗?
答案 0 :(得分:0)
有几种方法,你如何做到这取决于你的解决方案需要多强大。
一个是编写几个具有数据库属性的对象。然后,您可以获取结果集,并迭代它,每次更改关键字段(例如,“name”)时创建一个新对象,并将其添加到该对象的列表中。然后你要适当地设置属性。这就是“快速而肮脏”的解决方案。
稍微强一些的方法是使用Hibernate之类的东西进行映射。
如果您决定这样做,我还建议您重做表格,以便准确反映您的对象结构。如果您只想要快速解决方案,则可能不需要它。但是,如果您正在为商业或企业软件寻求强大的解决方案,那么这可能是一个好主意。