如何将几个表中的结果集映射到复杂的对象中? 让我详细说明一下:
假设我有这两个类(class):
public class User {
private int user_id;
private String fname;
private String lname;
//getters setters...
}
public class Country{
private String country;
private ArrayList<User> users;
}
sql
查询:
从用户 U、国家/地区 C 中选择 *,其中 c.user_id = U.id
给我以下输出 -
id | fname | lname| country
1 | Jack | Levi | USA
1 | Jack | Levi | UK
2 | Mike | Brown| Germany
如何将这些结果映射到 Country 类?
我需要从中创建一个 Json
字符串才能得到如下内容:
{
id : 1,
fname: "jack",
lname" "levi",
countries : {"USA", "UK"}
}
非常感谢!!
最佳答案
创建一个 HashMap,其中 user id 为键,user 为值。然后,当您处理结果集时,执行map.get(resultset.get(userid)),如果为空,则创建一个新用户,如果不是,则执行将用户附加到国家/地区的逻辑。
HashMap<Integer, User> users;
HashMap<String, Country> countries;
//inside the result set processing
User u = users.get(resultSet.get("id"));
if(null != u) {
//populate user here
} else {
Country c = countries.get(resultSet.get(country);
c.users.add(u);
}
关于java - 在 Java 中 - 如何将 resultSet 映射到复杂对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222040/