ZSBD-2st-1.2-lab5.tresc-1.3-Slajd9
Modyfikacja obiektów
Wykorzystamy obecnie poznane dotychczas metody zapisu i odczytu obiektów do przeprowadzenia modyfikacji obiektu zapisanego w bazie danych. W celu pokazania jak można modyfikować obiekty zapisane już w bazie danych ciągle będziemy zakładać, że w bazie danych umieszczony jest obiekt reprezentujący niebieski trójkąt o boku długości 10 jednostek.
Kod przedstawiony na (1) powinien zastąpić kod oznaczony jako (2) na poprzednim slajdzie. W celu przeprowadzenia modyfikacji obiektu należy go najpierw odczytać z bazy danych. W tym celu wykonywane jest zapytanie (2). W kolejnym kroku referencja na obiekt jest wyciągana z kolekcji i zapisywana do zmiennej bigBlueTriangle (3). Ponieważ wiemy, że w bazie znajduje się tylko jeden obiekt reprezentujący trójkąt, to można otrzymać odpowiednią referencję z kolekcji za pomocą wywołania metody get interfejsu List<E> (Uwaga! To jest zupełnie inna metoda, niż metoda get interfejsu ObjectContainer!). Ostatecznie obiekt jest modyfikowany za pomocą standardowej operacji przypisania i zapisywany do bazy danych za pomocą metody set (4). Po wyżej opisanych operacjach obiekt w bazie danych powinien reprezentować niebieski trójkąt o długości boku równej 20 jednostek. Należy zwrócić szczególną uwagę na fakt, iż obiekt musi być najpierw odczytany z bazy danych, a potem zmodyfikowany, i zapisany. Jeżeli, przykładowo, zostałby utworzony nowy obiekt koloru niebieskiego, o długości boku 20 i został zapisany za pomocą metody set, to zostałby on zapisany jako drugi obiekt w bazie danych, a pierwszy obiekt nie uległby modyfikacji. Jeżeli chodzi o sposoby modyfikacji obiektu odczytanego z bazy danych, to można stosować dowolne sposoby dostępne w języku Java: poprzez przypisanie, aktywację metody zmieniającej stan obiektu, jak również wykorzystanie dowolnych innych operatorów zmieniających stan pól obiektu.
Kompletny kod programu, którego fragmenty pokazano na slajdzie załączono do kursu w postaci pliku: Skeleton-lab5.4.java