Ответ
ResultSet — это объект в JDBC, представляющий таблицу данных, полученную в результате выполнения SQL-запроса (обычно через Statement или PreparedStatement). Он действует как итератор для пошагового доступа к строкам результата.
Ключевые особенности:
- Навигация по строкам: методы
next(),previous(),absolute(int row),relative(int rows). - Получение данных: методы
getString(),getInt(),getDate()и др. по индексу столбца (начиная с 1) или по его имени. - Типы курсоров: может быть только для чтения (
TYPE_FORWARD_ONLY) или прокручиваемым (TYPE_SCROLL_INSENSITIVE/SENSITIVE). - Режим обновления: может быть только для чтения (
CONCUR_READ_ONLY) или обновляемым (CONCUR_UPDATABLE).
Пример использования:
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT id, name FROM users");
while (rs.next()) {
// Получение данных по имени столбца
int id = rs.getInt("id");
// Получение данных по индексу столбца (второй столбец)
String name = rs.getString(2);
System.out.println(id + ": " + name);
}
// Важно закрывать ресурсы, лучше использовать try-with-resources
rs.close();
stmt.close();
Важно: ResultSet необходимо закрывать (close()) для освобождения ресурсов базы данных. Рекомендуется использовать try-with-resources для автоматического управления.