я думаю, что лучше возвращать список объектов, которые вы пытаетесь получить его данные, например, если вы хотите получить базу данных всех студентов, вы можете создать класс для этого:
public final class Student {
private int id;
private String name;
private int age;
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return this.id;
}
// other getter methods
}
, тогда вы можетеполучить всех студентов в списке
public List<Student> getAllStudents() throws SQLException {
List<Student> students = new ArrayList<Student>();
String select = "SELECT * FROM students";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(select);
while ( resultSet.next() ) {
int id = resultSet.getInt(1);
String name = resultSet.getString(2);
int age = resultSet.getInt(3);
Student student = new Student(id, name, age);
students.add(student);
}
return students;
}
Редактировать : чтобы получить размер набора результатов, вы можете вызвать resultset.last (), а затем вызвать resultset.getRow (), это обсуждалось здесь:
Как получить размер java.sql.ResultSet?
Как получить количество строк, содержащихся в ResultSet?
ResultSet resultSet = ps.executeQuery();
int rowcount = 0;
if (resultSet.last()) {
rowcount = resultSet.getRow();
resultSet.beforeFirst();
}
тогда вы можете построить свой 2D массив:
String[][] result = new String[rowCount][ColumnCount];
int i=0;
while (resultSet.next()) {
// build result[i] array
i++;
}