如何将几个表中的结果集映射到复杂的对象中?
让我详细说明一下:
假设我有这两门课:
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;
}
The sql
query:
SELECT * FROM 用户 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 是 key,user 是 value。然后,当您处理结果集时,执行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);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)