Uwaga: Aby zrealizować to laboratorium należy posiadać wersję Ultimate Intellij Idea oraz działający serwer MySQL.
Link do kodu źródłowego skryptu, generującego schemat bazy danych: https://pastebin.com/bF09WjE3 Skrypt należy wykonać przed przystąpieniem do realizacji laboratorium.
Realizacja laboratorium:
Po uruchomieniu programu IntelliJ IDEA należy kliknąć New Project. Ukaże się okno dialogowe, które należy uzupełnić w podany poniżej sposób:
Wybrano Java Enterprise z szablonem biblioteki. Po ustawieniu wartości należy kliknąć Next.
W kolejnym oknie z listy implementacji należy wybrać Hibernate i nacisnąć Create.
Utworzony zostanie projekt. Z drzewa plików należy wybrać plik pom.xml. Ukaże się następująca treść:
Kolejnym krokiem będzie dodanie do projektu drivera JDBC dla bazy MySQL. W tym celu należy kliknąć w znacznik <dependencies>, nacisnąć klawisze ALT+INSERT i z listy wybrać Add Dependency…
Środowisko przełączy się na zakładkę zależności. W tej zakładce w polu wyszukiwania należy wpisać frazę mysql. Z listy nalezy wybrać najnowszą wersję sterownika JDBC bazy danych i kliknąć przycisk Add.
Po dodaniu sterownika bazy danych należy utworzyć źródło danych. W tym celu w prawej części okna należy wybrać zakładkę Database. Po jej rozwinięciu kliknąć + i zaznaczyć Data source -> MySQL
Okno z danymi należy uzupełnić w podany sposób (podając własną nazwę użytkownika oraz hasło), a następnie kliknąć Test connection. W przypadku powodzenia testu kolejnym krokiem będzie kliknięcie Ok.
W zakładce Database pojawi się schemat naszej bazy danych.
Kolejnym krokiem będzie utworzenie Encji. Jest to możliwe po wybraniu View->Tool windows->Persistence…
Ukaże się zakładka persystencji. Należy kliknąć prawym przyciskiem myszy na default, przejść do Generate Persistence Mapping i wybrać By Database Schema.
Wyświetli się okno dialogowe, które należy uzupełnić w następujący sposób:
Po kliknięciu Ok wyświetli się okno dialogowe. Należy wybrać paczkę main:
Środowisko utworzyło klasy Encji. Można je podejrzeć:
W paczce Java należy utworzyć klasę Main z publiczną statyczną metodą Main:
Utworzymy teraz encję za pomocą kodu źródłowego:
Aby wykonać powyższy kod należy jeszcze klasę AddressInfoEntity zmodyfikować przez uzupełnienie adnotacji o poniższą konstrukcję:
Oraz utworzyć konfigurację:
Po uruchomieniu programu należy rozwinąć tabelę person w zakładce Database.
Wojciech Suchodolski pojawił się w bazie danych.
Zadanie:
Na podstawie tego laboratorium należy zaimplementować funkcjonalność, pozwalającą na sekwencyjne dodawanie osób do bazy danych po wpisaniu ich danych z klawiatury w oknie konsoli.