Spring JDBC Development - Podejście praktyczne
Spring JDBC Development - Podejście praktyczne
Ogólna architektura aplikacji zawiera kilka warstw, przedstawionych na poniższym obrazku:
2 kwi 2018
1505
Other articles
Testowanie aplikacji za pomocą JUnit5 i JMock. Część 2
Jak przygotować się do certyfikacji IIBA. Wyzwania i hacki
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 2
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 1
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 2
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 1
Test Driven Development z użyciem JUnit 5. Część 6
Test Driven Development z użyciem JUnit 5. Część 5
Test Driven Development z użyciem JUnit 5. Część 4
Test Driven Development z uzyciem JUnit 5. Czesc 3
Ogólna architektura aplikacji zawiera kilka warstw, przedstawionych na poniższym obrazku:
W zarysie ogólnym tej struktury znajduje się:
Chcielibyśmy zaprezentować, jak napisać DAO przy pomocy Spring.
Rolą JDBC jest umożliwienie jednolitej interakcji między aplikacją a bazą danych. JDBC używa sterowników, po jednym dla każdej bazy danych. Sterowniki tłumaczą polecenia interfejsu JDBC API na polecenia systemu baz danych.
Można się zastanawiać, dlaczego warto korzystać ze Spring JDBC, jeśli mamy już ORM? Istnieje ku temu kilka powodów, wymienionych poniżej:
W takim razie, dlaczego proste łącze JDBC jest niewystarczające? Istnieje również kilka powodów:
Wzorzec projektowy DAO zawiera dopasowanie między obiektem biznesowym a tabelą bazy danych. Można założyć, że zaczynamy od następującego interfejsu i następującej tabeli bazy danych:
Obserwując działania, które trzeba wykonać przy użyciu prostego JDBC, widoczna jest następująca sekwencja:
W następnym artykule przyjrzymy się, jak można to zrobić za pomocą Spring JDBC.
Chcesz poprawić swoje umiejętności w zakresie programowania Spring? Sprawdź nasze szkolenia: Tworzenie aplikacji w Spring Framework, Spring Core i Spring Databases.
Catalin Tudose
Java and Web Technologies Expert
W zarysie ogólnym tej struktury znajduje się:
- Warstwa prezentacyjna (presentation layer): przeglądarki internetowe, aplikacje mobilne, samodzielne aplikacje - pokazują dane i współdziałają z użytkownikiem.
- Warstwa usług biznesowych (business services layer), stosuje logikę biznesową (business logic). Obiekty biznesowe (business objects) są używane przez usługi biznesowe. Muszą być one zsynchronizowane z warstwą trwałości (persistence layer).
- Warstwa dostępu do danych (data access layer) zapewnia synchronizację między obiektami biznesowymi i warstwą trwałości. Dla każdej jednostki domeny należy utworzyć oddzielną klasę DAO (Data Access Object).
Chcielibyśmy zaprezentować, jak napisać DAO przy pomocy Spring.
Rolą JDBC jest umożliwienie jednolitej interakcji między aplikacją a bazą danych. JDBC używa sterowników, po jednym dla każdej bazy danych. Sterowniki tłumaczą polecenia interfejsu JDBC API na polecenia systemu baz danych.
Można się zastanawiać, dlaczego warto korzystać ze Spring JDBC, jeśli mamy już ORM? Istnieje ku temu kilka powodów, wymienionych poniżej:
- Spring JDBC zapewnia elastyczność; wykorzystuje wszystkie możliwości RDBMS.
- Spring JDBC jest przejrzysty - wszystko jest pod kontrolą, podczas gdy ORM sam tworzy polecenia SQL.
- Spring JDBC zapewnia wyższą wydajność.
- I na koniec, o ile będziesz miał kontrolę nad procesem, nie pojawią się żadne niespodzianki podczas pracy z bazami danych.
W takim razie, dlaczego proste łącze JDBC jest niewystarczające? Istnieje również kilka powodów:
- Proste JDBC nadal wymaga ręcznej obsługi wyjątku
- Proste JDBC obejmuje ręczne zarządzanie transakcjami
- Proste JDBC nie zapewnia mapowania danych do obiektów
- Ponadto, istnieje duża ilość kodu serwisowego
Wzorzec projektowy DAO zawiera dopasowanie między obiektem biznesowym a tabelą bazy danych. Można założyć, że zaczynamy od następującego interfejsu i następującej tabeli bazy danych:
Obserwując działania, które trzeba wykonać przy użyciu prostego JDBC, widoczna jest następująca sekwencja:
- Zdefiniowanie parametrów połączenia
- Otwarcie połączenia
- Określenie polecenia (statement)
- Przygotowanie i wykonanie polecenia
- Iteracja wyników
- Wykonanie pracy dla każdej iteracji
- Przetworzenie każdego wyjątku
- Obsługa transakcji
- Zamknięcie połączenia
W następnym artykule przyjrzymy się, jak można to zrobić za pomocą Spring JDBC.
Chcesz poprawić swoje umiejętności w zakresie programowania Spring? Sprawdź nasze szkolenia: Tworzenie aplikacji w Spring Framework, Spring Core i Spring Databases.
Catalin Tudose
Java and Web Technologies Expert