Wdrożenie do projektu

Podobne dokumenty
Wprowadzenie do Doctrine ORM

Uruchamianie bazy PostgreSQL

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Program Import Kontrahentów XLS dla Subiekta GT.

Oprócz tego dzięki programowi EIS/EZS Password Reader możemy przygotować stacyjkę do adaptacji w nowym samochodzie.

Podstawowe wykorzystanie Hibernate

JDK 7u25 NetBeans Zajęcia 1 strona - 1

Serwery Statefull i Stateless

Program Import dokumentów XLS dla Subiekta GT.

System magazynowy małego sklepu.

Instalacja systemu zarządzania treścią (CMS): Joomla

CLARION 2 - część II Tworzenie aplikacji

Praca w programie dodawanie pisma.

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

4. Podstawowa konfiguracja

Instrukcja instalacji Control Expert 3.0

Wczytywanie cenników z poziomu programu Norma EXPERT Tworzenie własnych cenników w programie Norma EXPERT... 4

Podstawy technologii WWW

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Kancelaria instalacja programu

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Platforma e-learningowa

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

5.1. MINIPOS MINIPOS. INSTALACJA ORAZ URUCHOMIENIE USŁUGI

Instalacja i obsługa aplikacji MAC Diagnoza EW

Kalipso wywiady środowiskowe

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Informatyka II. Laboratorium Aplikacja okienkowa

Bazy danych Karta pracy 1

Dodawanie stron do zakładek

Podstawy technologii WWW

Instrukcja konfiguracji programu Invoice.Exporter

Wypełnianie protokołów w USOSweb. Instrukcja dla osób prowadzących zajęcia dydaktyczne.

APLIKACJA SHAREPOINT

Baza danych sql. 1. Wprowadzenie

edycja szablonu za pomocą serwisu allegro.pl

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

Oracle Application Express

edycja szablonu za pomocą programu NVU

Dodawanie stron do zakładek

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Instrukcja aktywacji i instalacji Certum Code Signing

Klient poczty elektronicznej - Thunderbird

URLOPY BY CTI. Instrukcja obsługi

Instrukcja obsługi aplikacji i platformy Geodriller:

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Zapytania do baz danych

System Obsługi Zleceń

Krzysztof Kluza proste ćwiczenia z baz danych

Instrukcja użytkownika

DOKUMENTY I GRAFIKI. Zarządzanie zawartością Tworzenie folderu Dodawanie dokumentu / grafiki Wersje plików... 7

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

emszmal 3: Automatyczne księgowanie przelewów w programie EasyUploader (plugin dostępny w wersji ecommerce)

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Aplikacje internetowe - laboratorium

Włączanie/wyłączanie paska menu

Tworzenie wersji demonstracyjnych enova365 na potrzeby prezentacji u Klienta

Pracownia internetowa w szkole ZASTOSOWANIA

Rysunek 178. Programowanie monitorów KDS

INSTRUKCJA UŻYTKOWNIKA Instalacja KS - EDE w systemie KS - ZSA ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

ORAPACK NARZĘDZIE DO OBCIĘCIA BAZY DANYCH TYPU ORACLE DLA SYSTEMU APTECZNEGO KS-AOW

Palety by CTI. Instrukcja

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Rozpoczynamy import Kreator uruchamiamy przyciskiem Z tekstu, znajdującym się na karcie Dane, w grupie Dane zewnętrzne.

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Books. by HansaWorld. Przewodnik instalacji. wersji 6.2

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Dokumentacja panelu Klienta

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Zbieranie kontaktów.

trainxx tramxx

INSTRUKCJA OBSŁUGI KREATORA SKŁADANIA WNIOSKÓW

Program Opakowania zwrotne dla InsERT GT.

Zamawianie Taxi Aktywator Instrukcja użytkownika

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Instrukcja użytkownika

Dokumentacja fillup - MS SQL

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

Rejestracja użytkownika.

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Instrukcja użytkowania

Rysunek 178. Programowanie monitorów KDS

CREATE USER

Transkrypt:

Wdrożenie do projektu Zaczynamy od stworzenia zwykłego projektu Java. Środowisko z jakiego korzystam to Netbeans IDE w wersji 8.1. Możesz wykorzystywać inne IDE, bylebyś stosował analogiczne kroki w swoim środowisku. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 1/12

Musimy do projektu dodać niezbędne biblioteki. W tym celu wybieramy właściwości projektu i przechodzimy do sekcji Libraries. Następnie klikamy Add Library: Powinno nam się pojawić takie okienko: Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 2/12

W tym przykładzie będę korzystał z konta HR umieszczonego w bazie danych Oracle. Będzie mi w związku z tym potrzebna biblioteka do łączenia się z tą bazą. Pobierz plik ojdbc6 lub ojdbc7 z internetu i umieść go w strukturze plików projektu. Ja po prostu dorobiłem podkatalog libs i umieściłem w nim wspomniany plik jar. Gdy umieścimy już plik we właściwym miejscu, ponownie wchodzimy do właściwości projektu i dodajemy nowo wrzuconego liba do zależności. Tym razem klikamy jednak nie "Add Library" a "Add Jar/Folder" i z systemu plików wybieramy wrzucony plik. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 3/12

Konto z którego korzystam (HR) jest domyślnie utworzone w bazie jeśli zainstalujesz bazę Oracle w wersji Express Edition. To dosyć lekka wersja bazy, choć pozbawiona części funkcjonalności. Na nasze potrzeby całkiem starczy. Pamiętaj by odblokować konto HR i ustawić dla niego hasło. W internecie nie brakuje instrukcji jak to zrobić. Potrzebujemy teraz pliku konfiguracyjnego który poda Hibernate'owi informacje niezbedne do podpiecia się do bazy. Tworzymy więc pusty plik o nazwie hibernate.cfg.xml (tak właśnie musi się nazywać) w domyślnym pakiecie: Jego zawartość powinna wyglądać mniej więcej tak: Zmień własności username, password i url jeśli Twoja baza znajduje się na zdalnym serwerze lub korzystasz z innego użytkownika w bazie. Zwróć szczególną uwagę na zapis "mapping resource" znajdujący sięw tym pliku: Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 4/12

Jest to ścieżka względna (od położenia pliku hibernate.cfg.xml) prowadząca do pliku mapowania encji. Mapować encje na tabele możesz z użyciem plików XML lub adnotacji. W tym tutorialu wykorzystuję głównie pliki XML (uważam taką strukturę za bardziej czytelną). W tym pliku mapowania znajdują się informacje na temat tego w jaki sposób on ma przekładać obiektową strukturę klas na relacyjną i płaską strukturę tabel. Ilekroć więc będziesz chciał korzystać z nowej tabeli musisz taki plik stworzyć i dodać do niego link w tym miejscu. U mnie ta ścieżka jest dosyc długa, ale wynika to ze struktury obiektu. Każda podsekcja nazwy pakietu to podkatalog: Przy okazji zwróć uwagę na to co i gdzie się znajduje, może to być dla Ciebie ściąga gdybyś nie wiedział gdzie jaki plik umieścić. Stwórz teraz klasę HibernateUtil (możesz nazwać ją jak chcesz, tylko będziesz potem musiał zmienić nazwę klasy w przykładach). Jest to klasa będąca tzw fabryką sesji, a służąca temu byśmy mieli zawsze aktywną sesję pomiędzy naszą aplikacją a bazą danych. Jest to kod szablonowy. W zasadzie możesz go skopiować do swojego projektu bez zmian. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 5/12

Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 6/12

Podstawowe mapowanie tabeli W pierwszym przykładzie będziemy mapować tabelę EMPLOYEES ze schematu HR. To lista fikcyjnych pracowników fikcyjnej firmy. Mamy tutaj 3 klucze obce (kolumny job_id,manager_id,department_id) i zazwyczaj oznaczałoby to że obiekt klasy EMPLOYEE zawierał będzie jakieś trzy obiekty (np. JOB, MANAGER, DEPARTMENT), ale żeby nie wprowadzać na razie zbytniej komplikacji, zamapujemy te pola jak zwykłe pola liczbowe. Potem wraz z rozwojem projektu zmienimy to na właściwą strukturę. Tworzymy w projekcie klasę Employee której obiekty będą reprezentowały pojedyncze wiersze z tabeli Employees. Dla każdej kolumny w tabeli stwórz odpowiadające mu typem (nazwą niekoniecznie) pole w klasie. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 7/12

Gdy już będziesz miał wszystkie pola stwórz gettery i settery. Hibernate będzie domyślnie szukał takich metod by dostać się do pól obiektu, a więc musisz je posiadać. Mamy gotowy automat w Netbeansie który zrobi to za nas. Należy wybrać odpowiednią opcję z menu dostępnego pod PPM: Wyświetli się okno podobne do poniższego. Naciśnij "Select All" i zatwierdź wybór. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 8/12

Metody te zostaną utworzone i będą wyglądać mniej więcej tak: Warto też dodać przeciążoną metodę tostring. W dalszej części będziemy na konsoli wyświetlać pobrane z bazy dane i wtedy ta metoda nam się przyda. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 9/12

Klasa jest już gotowa, teraz czas na wspomniany wcześniej plik mapowania klasy. Stwórz plik XML w tym samym miejscu w którym znajduje się odwzorowywana klasa i umieść w nim treść taką jak poniżej. Linia 5 określa nazwę pakietu w którym Hibernate domyślnie będzie szukał klas do mapowania. W tym projekcie dla każdej klasy tworzę osobny plik do mapowania, nic nie stoi jednak na przeszkodzie by mapować wiele klas w jednym pliku. W takie sytuacji osobne wskazanie pakietu ułatwi nam życie. Linia 6 określa klasę którą chcemy mapować oraz odpowiadającą jej tabelę. Linie 7-9 określają klucz główny tabeli, oraz sposób jego uzupełniania. W linii 7 podajemy nazwę pola która będzie odpowiednikiem kolumny z kluczem głównym, typ tego pola, oraz odpowiadającą mu kolumnę. W linii 8 określone jest w jaki sposób klucz główny ma być uzupełniany danymi. W takim ustawieniu jak teraz będzie wymagane wypełnianie klucza danymi przed wysłaniem obiektu do zapisania. Jest tu kilka innych możliwości, jednak zajmiemy się nimi nieco później. Linie 10-19 to mapowania poszczególnych pól klasy na kolumny w tabeli. Nie musisz mapować wszystkich kolumn. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 10/12

Tworzenie podstawowego dao i jego wykorzystanie W projekcie utwórz teraz klasę EmployeeDao (nazwa dowolna). Klasa ta będzie zawierała metody służące pobieraniu danych z bazy i ewentualnemu ich utrwalaniu, aktualizowaniu czy kasowaniu. Metoda z linii 20-29 powoduje odczytanie z bazy całej zawartości tabeli employees i zwrócenie jej w postaci listy obiektów. Linia 23 powoduje odebranie działającej sesji z fabryki sesji, w ramach której będziemy uruchamiać nasze rządania. Linia 24 zawiera element "from Employee". Jest to zapytanie napisane w obiektowej implementacji SQL wprowadzanej przez Hibernate tj HQL. W składni tego języka nie piszemy SELECT [kolumny] jak bysmy to zrobili w zwykłym SQL, ponieważ domyślnie przyjmowane jest że będziemy czytać całą szerokość wiersza. To oczywiście utrudnia późniejsze ewentualne prace optymalizacyjne na bazie, jednak tym na razie się nie przejmuj. From Employee określa nazwę klasy której obiekty chcemy wczytać. Zwróć uwagę że podajemy tutaj nazwę klasy której encje chcemy odczytać, a nie nazwę tabeli!!. Nie ma tutaj żadnych warunków filtracji ewentualne określilibyśmy z użyciem klauzuli WHERE. W liniach 31-36 jest przykładowa metoda służąca zapisowi nowego obiektu do bazy. Będzie nam potrzebna nieco później. Na ten moment nie musisz jej tworzyć. Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 11/12

Uruchomienie projektu Mamy już wszystkie elementy niezbędne do uruchomienia naszego projektu. Aby przetestować działanie naszego systemu dorobimy sobie osobną klasę uruchamiającą cały ten bałagan. Jej jedynym zadaniem jak widać poniżej jest przeiterowanie po liście obiektów klasy Employee zwracanej z metody naszego DAO i wyświetlenie ich zawartości na konsoli. Po uruchomieniu powinniśmy zobaczyć na konsoli taki efekt: Hibernate tutorial - Andrzej Klusiewicz - www.jsystems.pl 12/12