Middle
Java'da ResultSet sınıfı nasıl yapılandırılmıştır?
sobes.tech yapay zeka
AI'dan gelen yanıt
ResultSet, java.sql paketinde bulunan ve bir SQL sorgusunun sonuçlarını temsil eden bir arayüzdür. Verilere adım adım (satır satır) erişim sağlar.
Anahtar noktalar:
- İmleç:
ResultSet, geçerli veri satırını gösteren bir imleç destekler. Başlangıçta, imleç ilk satırdan önce konumlandırılmıştır. - Gezinme: İmleci hareket ettirmek için
next(),previous(),first(),last()gibi yöntemler kullanılır.next()başarıyla bir sonraki satıra geçersetrue, aksi takdirdefalsedöner. - Türler: Farklı gezinme ve veri güncelleme özelliklerine sahip çeşitli
ResultSettürleri vardır:TYPE_FORWARD_ONLY: İmleç yalnızca ileriye doğru hareket eder (en verimli).TYPE_SCROLL_INSENSITIVE: İmleç herhangi bir yönde hareket edebilir, temel verilerdeki değişiklikler yansıtılmaz.TYPE_SCROLL_SENSITIVE: İmleç herhangi bir yönde hareket edebilir, temel verilerdeki değişiklikler yansıtılır (daha yavaş olabilir).
- Eşzamanlılık:
ResultSetaracılığıyla veri değiştirilebilirliği belirler:CONCUR_READ_ONLY: Sadece okuma.CONCUR_UPDATABLE: Okuma ve yazma.
- Veri alma: Mevcut satırdaki veriler,
get<Type>()metodlarıyla alınır, örneğingetString(int columnIndex),getInt(String columnLabel),getDate(int columnIndex). - Kapatma: Kullanımdan sonra
ResultSet'i kapatmak önemlidir, böylece kaynaklar serbest bırakılır,close()metodu kullanılır. Bu genelliklefinallybloğunda veya try-with-resources ile yapılır.
Kullanım örneği:
// connection ve statement'ın zaten başlatıldığını varsayıyoruz
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("Kullanıcı ID: " + id + ", İsim: " + name);
}
} catch (SQLException e) {
e.printStackTrace();
}
ResultSet, büyük veri hacimleriyle çalışırken verilerin tamamını bellekte tutmaz, bu da onu verimli kılar.