Middle
Java-da ResultSet sinfi necə qurulub?
sobes.tech Süni İntellekt
AI-dan cavab
ResultSet — java.sql paketində olan və SQL sorğusunun nəticələrini təmsil edən interfeysdir. O, məlumatlara mərhələli (sətir-sətir) giriş imkanı verir.
Əsas aspektlər:
- İmleç:
ResultSetimleci dəstəkləyir, hansı ki, hazırkı məlumat sətirini göstərir. Əvvəlcə, imleç ilk sətirdən əvvəl yerləşir. - Naviqasiya: İmleci hərəkət etdirmək üçün
next(),previous(),first(),last()kimi metodlardan istifadə olunur.next()uğurla növbəti sətirə keçərsə,trueqaytarır, əks haldafalse(nəticənin sonuna çatıb). - Növlər: Müxtəlif naviqasiya və məlumatların yenilənməsi imkanlarına malik
ResultSetnövləri mövcuddur:TYPE_FORWARD_ONLY: İmleç yalnız irəliyə hərəkət edir (ən səmərəli).TYPE_SCROLL_INSENSITIVE: İmleç istənilən istiqamətdə hərəkət edə bilər, bazadakı dəyişikliklər əks olunmur.TYPE_SCROLL_SENSITIVE: İmleç istənilən istiqamətdə hərəkət edə bilər, bazadakı dəyişikliklər əks olunur (daha yavaş ola bilər).
- Əməkdaşlıq:
ResultSetvasitəsilə məlumatların dəyişdirilməsi mümkündür:CONCUR_READ_ONLY: Yalnız oxumaq.CONCUR_UPDATABLE: Oxuma və yazma.
- Məlumatların alınması: Mövcud sətirdən məlumatlar
get<Type>()metodları ilə alınır, məsələn,getString(int columnIndex),getInt(String columnLabel),getDate(int columnIndex). - Bağlama:
ResultSetistifadə edildikdən sonra bağlamaq vacibdir ki, resurslar sərbəst buraxılsın,close()metodu ilə. Bu adətənfinallyblokunda və ya try-with-resources ilə edilir.
İstifadə nümunəsi:
// connection və statement artıq ilkinləşdirilmiş sayılır
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("İstifadəçi ID-si: " + id + ", Adı: " + name);
}
} catch (SQLException e) {
e.printStackTrace();
}
ResultSet bütün məlumatları yaddaşda eyni zamanda saxlamır, bu onu böyük həcmli məlumatlarla işləmək üçün səmərəli edir.