Java 将查询结果集获取到二维字符串数组中

Java 将查询结果集获取到二维字符串数组中,java,string,resultset,Java,String,Resultset,在Java中执行一个查询之后,假设我得到如下结果集 allan murphy 20 10 kenny rogers 12 22 marry watson 34 5 我希望将整个结果集放入一个变量中,以便返回该变量并在其他调用函数中使用它。我想将整个结果集放入一个2D字符串数组中,以便以后可以通过索引访问它们 问题是:将整个结果集放入一个2D字符串数组是一个好概念吗??如何将其放入2D字符串数组??谢谢。不,将结果集放入2d sting数组不是一个好概念。使用java对象表示一行数据。具有带有g

在Java中执行一个查询之后,假设我得到如下结果集

allan murphy 20 10
kenny rogers 12 22
marry watson 34 5
我希望将整个结果集放入一个变量中,以便返回该变量并在其他调用函数中使用它。我想将整个结果集放入一个2D字符串数组中,以便以后可以通过索引访问它们


问题是:将整个结果集放入一个2D字符串数组是一个好概念吗??如何将其放入2D字符串数组??谢谢。

不,将结果集放入2d sting数组不是一个好概念。使用java对象表示一行数据。具有带有getter和setter的字段来表示每个列。将每行转换为此对象,并将其放入列表或其他集合中。我不知道20-10和其他数字代表什么。但是如果它们是整数,那么它们应该作为整数保存在对象中,而不是将它们转换为字符串,然后再将它们重新转换为整数。

这就是获取结果集的方法的外观:

    public void getRecord() {   
        connectDB(); //method returning **con** of type Connection;

        String query   = "SELECT * From people"; //fetch whole record
        Statement stmt;

        try {

            //execute query on open Connection
            stmt = con.createStatement();
            System.out.println("Query executed!");

            //save result of query 
            ResulstSet rs;
            rs   = stmt.executeQuery(query); 

            //As long as Resultset has a next row...
            while (rs.next()) {

                //...Construct Object with people passing the Strings and Ints out of the DB
                Player player= new Player(rs.getString("name"), rs.getString("surname"),
                                             rs.getInt("number1"), rs.getInt("number2"));               
            }

            stmt.close();
            con.close(); //close open Connection to DB

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
构建player对象的类可以如下所示:

public class Player{

private String name;
private String surname;
private int number1;
private int number2;

    public Player(String name, String surname, int number1, int number2) {
        this.name= name;
        this.surname= surname;
        this.number1= number1;
        this.number2= number2;
    }
}
现在,您的结果集的每一行都有一个对象!通过向Player类添加setter和getter,您可以提取所需的任何信息


要显示它,只需将其添加到列表中,并调用其getter,甚至实现一种方法即可立即向您提供整套信息。

您能详细说明一下吗?或者任何例子或链接??这里有一个链接-。。不要将值存储为局部变量,而是在java对象中设置它们。