Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Instalacja KONFIGURACJA HIBERNATE, POSTGRESQL + PRZYKŁADOWA APLIKACJA.

Podobne prezentacje


Prezentacja na temat: "Instalacja KONFIGURACJA HIBERNATE, POSTGRESQL + PRZYKŁADOWA APLIKACJA."— Zapis prezentacji:

1 Instalacja KONFIGURACJA HIBERNATE, POSTGRESQL + PRZYKŁADOWA APLIKACJA

2  Tutorial ten będzie przeprowadzony w środowisku Windows  Użyte IDE - IntelliJ

3 Wymagania wstępne  Zainstalowany JDK

4 PostgreSQL  Pobieramy PostgresSQL dla Windows   Link zawiera również PgAdmin – graficzny interfejs dla PostgreSQL

5  Instalujemy ściągnięte oprogramowanie

6  Wybieramy lokalizację

7  Wybieramy lokalizację, gdzie będziemy składować dane

8  Tworzymy hasło dla superuser’a – postgres (będzie potrzebne przy konfiguracji Hibernate’a). W naszym przypadku hasło zostanie ustalone na „postgres”

9  Wybieramy numer portu na którym będzie nasłuchiwał serwer. W naszym przypadku 5432 (również będzie to potrzebne przy konfiguracji Hibernate)

10  Wybieramy domyślną lokalizację

11  Klikamy dwa razy Next i instalujemy PostgreSQL

12  Po zakończeniu instalacji, możemy przejść do PgAdminIII, który został również zainstalowany – graficzny interfejs

13  Klikamy dwukrotnie na (localhost:5432). Podajemy hasło, które wprowadziliśmy podczas instalacji. W naszym przypadku: postgres

14  Tworzymy nową bazę danych

15  Nadajemy jej nazwę i OK

16  Mamy założoną bazę danych. Jest na razie pusta.

17 Aplikacja w Javie  Kolejnym krokiem będzie stworzenie aplikacji w Javie, używającej Hibernate.  Należy poprawnie skonfigurować Hibernate – jak na kolejnych slajdach  Projekt zostanie utworzony w IntelliJ IDE

18  Tworzmy nowy projekt – Java Module

19  Mamy utworzony pusty projekt

20  Stwórzmy strukturę plików jak niżej. Na razie wszystkie pliki są puste. Zawartość uzupełnimy później  Jak widać stworzyliśmy dwa moduły:  Application – w którym będzie logika naszej aplikacji  Persistance – w której zamodelujemy klasy, które będą persystowane (Message, Thread)  Do budowy oraz do pobrania niezbędnych bibliotek będziemy używać Maven’a, stąd też stworzone pliki pom.xml (po jednym dla każdego z modułów oraz jeden nadrzędny). Na kolejnych slajdach zaprezentujemy ich zawartość

21  Moduł application – pom.xml  Dependency:  Postgresql – driver JDBC  Dom4j – hibernate-core go używa  Pl.agh.hibernate.tutorial: persistance – moduł persystencji zawierający modelowane klasy

22  Moduł persistance – pom.xml  Dependency:  Hibernate-core – główna biblioteka hibernate, odpowiadająca za mapowanie O/R  Hibernate-annotations – pozwala na mapowanie poprzez tagowanie  Hibernate-validator – dodaje możliwość dodawania tagów constraintowych do pól persystowanej klasy  Hibernate-entitymanager - Połączenie podprojektówHibernate EntityManager oraz Hibernate Annotations pozwala posługiwać się techniką mapowania obiektowo-relacyjnego zgodnie ze standardem JPA  Hibernate-jpa

23  Moduł nadrzędny – pom.xml  Zaznaczamy obecność ‚pomów’ podrzędnych

24  Wystarczy teraz przy użyciu Mavena pobrać wszystkie zadeklarowane dependency, aby mieć dostęp do potrzebnego API

25 Klasy modelowe  Message  Thread

26 Message  W naszym rozwiązaniu będziemy korzystać z możliwości mapowania klas tagami, zamiast tworzenia plików hbm.xml (o nich później)  Każda klasa POJO jest tzw. entity i jest deklarowana przy (na poziomie klasy) pozwala zmapować naszą klasę na tabelę w bazie danych. Możemy ustawić 4 atrybuty: nazwę tabeli, jej katalog, schemat oraz możemy ustawić UNIQUE constarints dla poszczególnych kolumn

27 Message pozwala zmapować naszą klasę na tabelę w bazie danych. Możemy ustawić 4 atrybuty:  Name - nazwę tabeli  Catalogue - jej katalog,  Schema - schemat  UniqueConstraint - umożliwia ustawienie UNIQUE constarints dla poszczególnych kolumn W naszym przypadku, ustawiamy tylko nazwę tabeli

28 Message deklaruje identyfikator entity, primary key  Istnieje możliwość wskazania pól, które mają zostać wygenerowane automatycznie. Może się to przydać na przykład w przypadku primary key. W tym celu  JPA definiuje 5 typów strategii generowania:  AUTO  TABLE  IDENTITY  SEQUENCE  Identity copy  Hibernate proponuje więcej niż JPA (patrz dok.)

29 Message – określa kolumnę, która będzie zmapowana z pola nad którym znajduje się adnotacja. Możliwe jest ustawienie atrybutów:  Name – nazwa  Unique – UNIQUE contsraint, domyślnie false  Nullable – czy kolumna może zawierać null  Insertable – czy kolumna może być częścią INSERTa  Updatable – czy kolumna może być częścią UPDATEa  columnDefinition – nadpisuje sql DDL fragment  Table – docelowa tabela  Length – długość kolumny (domyślnie 255)  Precision – precyzja dziesiętna  Scale

30  Mapowanie relacji – pojawia się potrzeba mapowania relacji. Z pomocą przychodzą adnotacje:  One-to-one – jeden do jednego. Mamy trzy sytuacje:  Dwa entity dzielą primary key (feorign key jest przechowywany przez jeden z nich).

31  One-to-one – jeden do jednego. Mamy trzy sytuacje:  Dwa entity dzielą primary key (feorign key jest przechowywany przez jeden z nich).  Połączenie dwóch entity jawną kolumną foreign key Asocjacje mogą być dwustronne. Wtedy jedna ze stron musi być właścicielem. Właściciel jest odpowiedzialny za update kolumny. Aby oznaczyć kolumnę jako nie właściciel używamy mappedBy. Nie jest to w tym przykładzie potrzebne, bo już ustawiliśmy po stronie

32  One-to-one – jeden do jednego. Mamy trzy sytuacje:  Dwa entity dzielą primary key (foreign key jest przechowywany przez jeden z nich).  Połączenie dwóch entity jawną kolumną foreign key  Z użyciem tabeli łącznikowej Tworzymy tutaj tabelę łącznikową CustomerPassports, która używa primary key customer’a i passport

33  Many-to-one - wiele do jednego.  Domyślna nazwa kolumny – thread_id  Istnieje możliwość określenia ręcznie nazwa  Możemy też zrealizować taką relację przy użyciu tabeli łącznikowej


Pobierz ppt "Instalacja KONFIGURACJA HIBERNATE, POSTGRESQL + PRZYKŁADOWA APLIKACJA."

Podobne prezentacje


Reklamy Google