Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将结果集的行存储到HASHMAP中_Java_Jdbc - Fatal编程技术网

Java 如何将结果集的行存储到HASHMAP中

Java 如何将结果集的行存储到HASHMAP中,java,jdbc,Java,Jdbc,有没有办法将ResultSet中包含的表的每一行存储到HashMap中(使每一行成为HashMap的条目) 你能做到吗?对编写一个自定义类来表示行的数据内容,然后读取行,为每个行创建一个实例,并使用适当的键将其放入HashMap 有更简单或更好的方法吗?我不知道。从结果集中选取一列(被视为主键的内容),并将其用于映射的键属性。您可以创建一个自定义类,该类将保存其余列作为其字段(简单POJO),并将其用于value属性。例如: public class MyRow { private St

有没有办法将ResultSet中包含的表的每一行存储到HashMap中(使每一行成为HashMap的条目)

你能做到吗?对编写一个自定义类来表示行的数据内容,然后读取行,为每个行创建一个实例,并使用适当的键将其放入HashMap


有更简单或更好的方法吗?我不知道。

从结果集中选取一列(被视为主键的内容),并将其用于映射的键属性。您可以创建一个自定义类,该类将保存其余列作为其字段(简单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();
Map Map=newhashmap(0);
结果集rs;
//从数据库查询中获取结果集
while(rs.next()){
MyRow mr=新的MyRow(rs.getString(yourCol1Index)、rs.getInt(yourCol2Index),…);
map.put(rs.getInt(yourKeyColumnIndex),mr);
}
//最终释放资源
rs.close();

是的,你可以,但是?是的,有办法:)