有没有办法将ResultSet中包含的表的每一行存储到HashMap中(使每一行成为HashMap的一个条目)。
答案 0 :(得分:4)
从结果集中获取一列(被视为主键的内容),并将其用于Map的键属性。您可以创建自定义类,将其余列作为其字段(简单POJO),并将其用于value属性。一个例子:
public class MyRow {
private String col1;
private int col2;
...
// the constructor
public MyRow(String s, int i, ...) {
this.col1 = s;
this.col2 = i;
...
}
}
假设您将结果集中的int列(如果存在)作为地图的键,您将看到如下内容:
Map<Integer, MyRow> map = new HashMap<Integer, MyRow>(0);
ResultSet rs;
// get your result set from some db query or whatever
while(rs.next()) {
MyRow mr = new MyRow(rs.getString(yourCol1Index), rs.getInt(yourCol2Index), ...);
map.put(rs.getInt(yourKeyColumnIndex), mr);
}
// finaly release the resources
rs.close();
答案 1 :(得分:3)
有更简单或更好的方法吗?不是我知道的。