Java i bazy danych

Odpowiedz Nowy wątek
2011-08-22 13:22
0

Napisałem sobie program który korzysta z bazy. Program korzysta z JDBC. Utworzyłem obiekty klas:

    private Connection polaczenie = null;  
    private Statement wyciag = null;
    private ResultSet wynik = null;  

Wszystkie te obiekty są inicjowane podczas połączenia.
Czy po każdorazowym zapytaniu do bazy któryś z tych obiektów powinienem zamykać (np. obiekty klasy ResultSet) ? Jak to powinno dokładnie wyglądać ?

Pozostało 580 znaków

2011-08-23 09:46

ResultSet reprezentuje wyniki zapytania i powinno być zamknięte w momencie gdy nie jest już potrzebne.
Statemnet reprezentuje zapytanie, czyli SQL + parametry i powinno być zamknięte jak już nie jest potrzebne.
Connection reprezentuje fizyczne połączenie z bazą. Zazwyczaj przyjmuje się, że pojedyncze połączenie jest współdzielone przez różne elementy aplikacji (okienkowej) dlatego najlepiej zamykać je wraz z aplikacją.

Ogólnie schemat powinien być mniej więcej taki:

statement = connection.prepareStatemnet(sql);
// ustawiamy parametry jak to jest konieczne
resultSet = statement.executeQuery();
// przetwarzamy wyniki
resultSet.close();
statement.close();

Pozostało 580 znaków

2011-08-24 16:41
0

Dziękuję za odpowiedź.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0