Junior
Czym jest ResultSet w JDBC?
sobes.tech AI
Odpowiedź od AI
Interfejs ResultSet zapewnia dostęp do danych tabelarycznych uzyskanych w wyniku wykonania zapytania SQL. Działa jak iterator po wierszach wyniku.
Główne możliwości ResultSet:
- Poruszanie się po wierszach:
next(),previous(),first(),last(),absolute(),relative(). - Odczyt danych z kolumn:
getString(),getInt(),getDouble(),getObject()i inne, według indeksu lub nazwy kolumny. - Aktualizacja danych w bieżącym wierszu (dla
ResultSetmożliwych do aktualizacji). - Pobieranie metadanych wyniku (
ResultSetMetaData).
Typowa pętla przetwarzania ResultSet:
// Zakłada się, że statement to Statement lub PreparedStatement
try (ResultSet resultSet = statement.executeQuery("SELECT id, name FROM users")) {
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID użytkownika: " + id + ", Imię: " + name);
}
} catch (SQLException e) {
e.printStackTrace();
}
Ważne jest poprawne zamknięcie ResultSet (za pomocą try-with-resources lub bloku finally) w celu zwolnienia zasobów bazy danych.