我有一个哈希图,我在其中存储了一个人拥有的汽车列表。
Map<String,List<String>> personCarMap = new HashMap<String,List<String>>();
键是人名,值是车名列表。在值中,我还想存储购买日期。所有这些都是从数据库中获取的。如何将键映射到数据库中的两个不同列?
这是我到目前为止的代码。
public static JSONObject fetchPersonCarInfo(String person) throws SQLException
{
Map<String,List<String>> personCarMap = new HashMap<String,List<String>>();
JSONObject jObj = new JSONObject();
Connection connection = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
connection = DriverManager.getConnection("jdbc:myDriver:myDatabase",username,password);
statement = connection.prepareStatement("select personId,car,purchase_date from carz where person = ?");
rs = statement.executeQuery();
while(rs.next()) {
List<String> carIds;
if(personCarMap.containsKey(rs.getString(carId))) {
carIds = personCarMap.get(rs.getString(personId));
} else {
carIds = new ArrayList<String>();
}
carIds.add(rs.getString(carId));
carIds.add(rs.getTimestamp(purchase_date).toString()); //This is where I have a doubt.
personCarMap.put(rs.getString(carId),carIds);
}
for(Map.Entry<String, List<String>> personCarMapEntry:personCarMap.entrySet())
{
jObj.put("personID", personCarMapEntry.getKey());
jObj.put("carID", personCarMapEntry.getValue());
}
} finally{
DatabaseFunctions.closeDBResources(null, statement, rs);
}
return jObj;
}
}
我希望我的 JSON 对象显示 {personId, [carId,purchasedate]}。请建议我如何让 JSON 数组也打印出购买日期?我清楚地看到 personId 和 carId 的输出,但我无法弄清楚如何添加购买日期,因此需要您的专家建议。