7
我有一個看起來像這樣的類。我需要從兩個數據庫表中填充它,這也在下面顯示。有沒有任何首選的方法來做到這一點?JDBC模板 - 一對多
我的想法是有一個服務類,通過從DAO的ResultSetExtractor
選擇List<>
。然後在該列表上執行foreach
,然後通過另一個ResultSetExtractor
爲個人選擇一個List<>
電子郵件,並將其從foreach
循環中附加。
有沒有更好的方法,還是這樣好?
public class Person {
private String personId;
private String Name;
private ArrayList<String> emails;
}
create table Person (
person_id varchar2(10),
name varchar2(30)
);
create table email (
person_id varchar2(10),
email varchar2(30)
);
這很棒。希望我在之前的項目中完成了這項工作。你能告訴我最後一行是什麼嗎?我不確定我是否遵循這一部分。 – EdgeCase 2013-05-09 17:02:02
它只是從地圖獲取值,因爲您可能想要作爲查詢的結果是人的集合,而不是'Map'。閱讀'Map.values()'的javadoc以獲取更多細節。 –
2013-05-09 17:07:42
或者你可以使用 'java.util.Set' 其中'class Person {public boolean equals(Object o){return id ==(Person)o.id; public int hashCode(){return id.hashCode(); }}'這樣可以避免調用'Map.values()',這對於性能和可讀性來說可能更加理想。 –
juanchito
2014-08-19 19:53:12