Jdbc ResultSet next()仅返回一行
我有这个方法Jdbc ResultSet next()仅返回一行,jdbc,resultset,multiple-results,Jdbc,Resultset,Multiple Results,我有这个方法 public List<Course> getCourses() throws InvalidCourseDataException { ArrayList<Course> allCoursesFromDB = new ArrayList<>(); Connection dbConnection = null; String getFromTableSQL = "SELECT * FROM courses";
public List<Course> getCourses() throws InvalidCourseDataException {
ArrayList<Course> allCoursesFromDB = new ArrayList<>();
Connection dbConnection = null;
String getFromTableSQL = "SELECT * FROM courses";
try {
dbConnection = getDBConnection();
statement = dbConnection.createStatement();
resultSet = statement.executeQuery(getFromTableSQL);
while (resultSet.next()) {
String courseCategory = resultSet.getString("course_category");
String courseTitle = resultSet.getString("course_title");
int courseId = resultSet.getInt("course_id");
Date startDate = resultSet.getTimestamp("starting_date");
Date endDate = resultSet.getDate("ending_date");
String description = resultSet.getString("description");
int teacherId = resultSet.getInt("teacher_id");
Course course = new Course(courseCategory, courseTitle, startDate, endDate);
course.setCourseId(courseId);
course.setTeacherId(teacherId);
course.setDescription(description);
addParticipantsIdToCourse(course);
allCoursesFromDB.add(course);
}
我的问题是resultSet.next()只从DB返回第一行。我确信我有多行。我看到了那个问题,但它确实没有回答我的:)我为这个问题感到抱歉。我发现了我的错误。ResultSet next()方法工作正常,但我在addParticipantsIdToCourse(课程)方法中更改了它的值:)您如何判断它只返回一个?调试?一些输出?您确定连接到了正确的数据库吗?当我调试时,我看到只有一个课程添加到我的ArrayList中。是的,我绝对相信DB
System.out.println("-------- MySQL JDBC Connection Testing ------------");
Connection dbConnection = null;
try {
Class.forName(DB_DRIVER);
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
dbConnection = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
return dbConnection;
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return dbConnection;
}