Grupa
MagazynyInternetowe.pl
Podstawowym sposobem korzystania z bazy danych w aplikacjach napisanych w Javie jest użycie JDBC. Niesie to ze sobą konieczność pisania zapytań w języku SQL, co z kolei może okazać się dużym problemem w sytuacji, gdy aplikacja powinna móc działać na wielu różnych systemach bazodanowych. Dodatkowo korzystanie z JDBC utrudnia w pełni obiektowe programowanie - przecież o wiele wygodniej i poprawniej byłoby, gdyby miały także reprezentację obiektową.
Marcin Staniszczak
Dlatego dla Javy powstało kilka rozwiązań mających na celu rozwiązanie powyższych problemów. Wśród nich między innymi JDO - standard, który się jednak za bardzo nie przyjął, iBATIS - prosty sposób na mapowanie bazy danych do obiektów, oraz bohater tego artykułu, Hibernate - potężne narzędzie, cieszące się ogromną popularnością (jakiś czas temu powstała także wersja Hibernate dla platformy .NET - NHibernate).
Hibernate ma tak olbrzymie możliwości, że nie sposób omówić ich w jednym artykule, czy nawet w całej serii artykułów ukazujących się przez rok (wystarczy wspomnieć, że podstawowa książka na jego temat, "Java Persistence with Hibernate" autorstwa Christiana Bauera i Gavina Kinga, to niemal 900 stron). Dlatego artykuł ten potraktuj jako wstęp do tej technologii i zachętę do dalszej pracy.
Hibernate jest tworzone przez firmę JBoss. Bibliotekę tę znajdziesz na stronie http://www.hibernate.org. Hibernate został podzielony na kilka części. W celu uruchomienia przykładu z tego artykułu będziesz potrzebował dwóch z nich:
W celu łatwiejszego i szybszego budowania aplikacji powinieneś także pobrać Hibernate Tools, w którego skład wchodzą między innymi zadania dla Anta.
Instalacja Hibernate sprowadza się do rozpakowania archiwum z plikami oraz przegrania bibliotek .jar do odpowiedniego katalogu zawierającego twój projekt.
Poza Hibernate potrzebna będzie ci także baza danych. Mimo że Hibernate oferuje wsparcie dla większości mniej i bardziej popularnych relacyjnych baz danych, a twoja aplikacja bez problemów powinna działać na każdej z nich, to polecam użycie HSQLDB. Jest to mała baza, składająca się z jednego pliku JAR. Została ona napisana w Javie. Świetnie nadaje się do celów demonstracyjnych oraz testowych. Najnowszą wersję bazy HSQLDB możesz pobrać ze strony http://hsqldb.org/.
Na koniec pobierz i zainstaluj Anta, czyli narzędzie automatyzujące proces kompilacji i wdrożenia (a dzięki zadaniom Hibernate Tools także nieco więcej).
W ramach tego artykułu zbudujesz w oparciu o Hibernate prosty program, obsługujący newsy. Nie będzie to jednak program typowo webowy, a aplikacja konsolowa. Jest to działanie celowe - cała otoczka webowa niepotrzebnie zaciemniałaby kod związany bezpośrednio z Hibernate. Gdy już będziesz wiedział, na czym to wszystko polega, sam dasz sobie radę z obudowaniem Hibernate wybranym przez siebie frameworkiem MVC - np. wspomnianym już Struts.
Nasz projekt będzie miał dwie główne klasy:
Jak łatwo się domyślić, klasa News będzie miała odwołanie do klasy User, czyli do użytkownika, który danego newsa utworzył. Dodatkowo będziesz potrzebował jeszcze klasy wykonującej przykładowe działania na dwóch powyższych, łącznie z zachowaniem ich stanu w bazie - nazwiemy ją Run, a także specjalnej klasy narzędziowej HibernateUtil.
Klasa ta odpowiada za przechowywanie informacji o użytkowniku, który jest, bądź też może być autorem newsów. Klasa ta jest bardzo prosta:
Listing zwinięty - 47 linii
Zwróć uwagę na domyślny, bezparametrowy konstruktor. Jest on wymagany przez Hiberante do tego, aby klasa mogła być utrwalana w bazie. Przyjrzyj się również typowym getterom oraz setterom, czyli metodom, dzięki którym masz z zewnątrz dostęp do prywatnych pól klasy, takich jak name czy surename.
Aby taka klasa mogła być zmapowana przez Hibernate do tabeli relacyjnej bazy danych, Hibernate musi być poinformowany o tym, jak zbudowana jest odpowiednia tabela. Konfigurację możesz zapisać w pliku XML bądź, jak już wcześniej wspomniałem, za pomocą adnotacji w kodzie Java. Ten drugi sposób jest zdecydowanie wygodniejszy, szczególnie gdy nie przewidujesz częstych zmian w schemacie tabel.
Pierwsze adnotacje należy dodać przed nazwą klasy:
1. @Entity 2. @Table(name = "USERS") 3. public class User {
Komentarzy: 1
Niestety nie mogę znaleźć liku do paczki z całością programu - przydałaby się do testów
Artykuły tego autora:
Po przeczytaniu poprzednich części publikacji wiesz już jak zainstalować Apache oraz doinstalować do niego PHP. Duet ten nie jest jednak wystarczający dla spełnienia podstawowych potrzeb tworzenia współczesnych aplikacji dla internetu. Potrzebujesz jeszcze bazy danych. Przeczytaj ten artykuł, aby dowiedzieć się jak ją zainstalować.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: