Sobes.tech
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 ResultSet moż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.