java jdbc tutorial what is jdbc
Zaczynając od podstaw, ten samouczek JDBC wyjaśnia komponenty, architekturę i typy sterowników w Java Database Connectivity (JDBC):
W tym samouczku wyjaśniono, czym jest JDBC, jego dotychczasowe wersje, jakie są wymagania wstępne potrzebne przed przystąpieniem do pracy z JDBC, typy sterowników itp. Pod koniec tego samouczka poznasz podstawy Java Database Connectivity lub JDBC i gdzie czy możemy tego użyć.
Zacznijmy ten samouczek od podstaw JDBC.
Czego się nauczysz:
Lista samouczków Java JDBC
Samouczek nr 1: Co to jest JDBC (łączność z bazą danych Java) (Ten samouczek)
Samouczek nr 2: Samouczek dotyczący połączeń JDBC w języku Java z przykładem programowania
Samouczek nr 3: JDBC DriverManager, JDBC PreparedStatement And Statement
Samouczek nr 4: JDBC ResultSet: jak używać Java ResultSet do pobierania danych
Samouczek nr 5: Zarządzanie transakcjami Java JDBC z przykładem
Samouczek nr 6: Obsługa wyjątków JDBC - jak obsługiwać wyjątki SQL
Samouczek nr 7: Samouczek dotyczący przetwarzania wsadowego i procedury składowanej JDBC
Samouczek nr 8: 25+ pytań i odpowiedzi do wywiadów JDBC
Co to jest JDBC
W większości aplikacji Java zawsze istnieje potrzeba interakcji z bazami danych w celu pobierania, manipulowania i przetwarzania danych. W tym celu wprowadzono Java JDBC.
JDBC jest powszechnie używanym skrótem języka Java Database Connectivity. Korzystając z JDBC, możemy wchodzić w interakcje z różnymi typami relacyjnych baz danych, takich jak Oracle, MySQL, MS Access itp.
Przed JDBC wprowadzono ODBC API do łączenia się i wykonywania operacji na bazie danych. ODBC używa sterownika ODBC, który jest zależny od platformy, ponieważ został napisany w języku programowania C. Interfejs API JDBC jest napisany w języku Java, jest niezależny od platformy i sam uniezależnia platformę Java.
Poniższy diagram przedstawia podstawowy przepływ JDBC:
Wersje JDBC
Początkowo Sun Microsystems wydał JDBC w JDK 1.1 19 lutego 1997 r. Następnie stał się częścią platformy Java.
Poniższa tabela zawiera wersje i implementacje JDBC:
Wersja JDBC | Implementacja JDK | Rok |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Warunek wstępny
Przed przystąpieniem do samouczka dotyczącego JDBC należy mieć dobrą wiedzę na temat języka Java, aby móc używać JDBC w programach Java.
=> Zalecana lektura: Samouczki Java
Wymagania wstępne dotyczące implementacji JDBC w aplikacjach Java są następujące:
1. Javę należy zainstalować w systemie, w którym chcesz stworzyć aplikację Java i korzystać z JDBC.
Odnieś się do tego połączyć do instalacji Java.
2. Aby połączyć się z DBMS, powinieneś mieć odpowiednie pliki jar sterownika JDBC. Każda baza danych ma inne pliki JAR sterownika JDBC.
Możesz pobrać te pliki dla określonej bazy danych, korzystając z łączy w poniższej tabeli:
Baza danych z linkiem do pobrania | Nazwa dostawcy sterownika JDBC | Nazwa pliku JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Wyrocznia | Oracle Corporation | Wyroczniaojdbc8.jar |
SQL Server | Korporacja Microsoft | SQL Serversqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | Globalna grupa deweloperska PostgreSQL | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Typy sterowników w JDBC
Omówmy teraz typy sterowników w JDBC, aby pomóc Ci wybrać ten odpowiedni dla Twojego programu.
Wszystkie RDMS (Relational Database Management System) wymagają sterownika, jeśli mają być dostępne spoza ich systemu. Tak więc sterownik JDBC jest wymagany do wykonywania zapytań SQL i pobierania wyników z bazy danych.
W JDBC dostępne są 4 różne typy sterowników. Są klasyfikowane na podstawie techniki używanej do uzyskiwania dostępu do bazy danych.
Są one następujące:
- Typ I: Most JDBC- ODBC
- Typ II: natywny APT - częściowo sterownik Java
- Typ III: protokół sieciowy - w pełni sterownik Java
- Typ IV: cienki sterownik - w pełni sterownik Java
Typ I: Most JDBC- ODBC
W tego typu sterowniku, JDBC - ODBC Bridge działa jako interfejs między klientem a serwerem DB. Gdy użytkownik używa aplikacji Java do wysyłania żądań do bazy danych za pomocą JDBC - ODBC Bridge, najpierw konwertuje interfejs JDBC API na ODBC API, a następnie wysyła go do bazy danych. Otrzymany wynik z DB jest wysyłany do ODBC API, a następnie do JDBC API.
Ten sterownik jest zależny od platformy, ponieważ używa ODBC, który zależy od natywnej biblioteki systemu operacyjnego. W tym typie sterownik JDBC - ODBC powinien być zainstalowany w każdym systemie klienta, a baza danych musi obsługiwać sterownik ODBC.
Gdy nie ma znaczenia instalacja na komputerze klienta, możemy skorzystać z tego sterownika. Jest łatwy w użyciu, ale daje niską wydajność ze względu na konwersję wywołań metod JDBC do wywołań metod ODBC.
Uwaga: jest dostępny w JDK 1.2
Java 8 nie obsługuje tego typu sterowników. Oracle zaleca, aby użytkownik korzystał ze sterowników JDBC dostarczonych przez dostawców baz danych.
Rys.: Typ I: JDBC - sterownik mostka ODBC
Typ II: macierzysty interfejs API - częściowo sterownik Java
Jest podobny do sterownika typu I. Tutaj część ODBC jest zastępowana natywnym kodem w sterowniku typu II. Ta część kodu natywnego jest przeznaczona dla określonego produktu bazy danych. Korzysta z bibliotek bazy danych po stronie klienta. Ten sterownik konwertuje wywołania metody JDBC na natywne wywołania natywnego interfejsu API bazy danych.
Gdy baza danych otrzymuje żądania od użytkownika, są one przetwarzane i odsyłane z wynikami w formacie natywnym, które mają zostać przekonwertowane na format JDBC i przekazane do aplikacji Java.
Został natychmiast przyjęty przez dostawców DB, ponieważ był szybki i niedrogi we wdrożeniu. Jest również w rodzimym formacie bazy danych.
Ten typ sterownika zapewnia szybszą reakcję i wydajność niż sterownik typu I.
Rys.: Typ II: Natywny APT - częściowo sterownik Java
Typ III: Protokół sieciowy
Sterownik typu III jest w całości napisany w Javie. To jest jak trójwarstwowe podejście do dostępu do bazy danych. Wysyła wywołania metod JDBC do serwera pośredniego. W imieniu JDBC serwer pośredniczący komunikuje się z bazą danych. Serwer aplikacji (warstwa pośrednia lub środkowa) konwertuje wywołania JDBC bezpośrednio lub pośrednio na protokół bazy danych specyficzny dla dostawcy.
Takie podejście nie zwiększa wydajności architektury i jest również kosztowne, ponieważ większość dostawców baz danych nie preferuje tego sterownika. Ponieważ używany jest serwer aplikacji, należy mieć dobrą wiedzę o serwerze aplikacji, aby efektywnie korzystać z tego podejścia.
Rys.: Typ III: Protokół sieciowy - Całkowicie Java Driver
Typ IV: cienki przetwornik
Sterownik typu IV jest bezpośrednio zaimplementowany, który konwertuje wywołania JDBC bezpośrednio na protokół bazy danych konkretnego dostawcy. Obecnie większość sterowników JDBC to sterowniki typu IV. Został napisany w całości w Javie, a zatem jest niezależny od platformy. Jest instalowany w JVM (wirtualnej maszynie języka Java) klienta, więc nie musisz instalować żadnego oprogramowania po stronie klienta lub serwera. Ta architektura sterownika ma całą logikę do komunikacji bezpośrednio z DB w jednym sterowniku.
Zapewnia lepszą wydajność niż inne typy sterowników. Pozwala na łatwe wdrożenie. Obecnie ten typ sterownika jest rozwijany przez samego producenta bazy danych, dzięki czemu programiści mogą z niego korzystać bezpośrednio, bez uzależnienia od innych źródeł.
Rys.: Typ IV: Cienki sterownik - Całkowicie Java Driver
Zastosowania JDBC
JDBC może być używany w aplikacjach Java, apletach, serwletach lub innych programach Java, w których chcesz połączyć się z bazą danych.
Na przykład, Samodzielne aplikacje, strony internetowe, aplikacje bankowe itp.,
Architektura i komponenty JDBC
Architektura JDBC: Obsługuje dwa typy modeli przetwarzania dostępu do bazy danych.
To są:
- Architektura dwuwarstwowa
- Architektura trójwarstwowa
# 1) Architektura dwuwarstwowa:
Pomaga aplikacji Java bezpośrednio łączyć się z bazą danych. Potrzebuje sterownika JDBC do komunikacji z określoną bazą danych. Użytkownik wysyła żądania do DB i otrzymuje odpowiedź bezpośrednio, bez żadnego mediatora poza sterownikiem JDBC. Baza danych, znajdująca się na tym samym komputerze lub na komputerze zdalnym, jest połączona za pośrednictwem sieci. Można to nazwać architekturą klient-serwer.
# 2) Architektura trójwarstwowa:
Jest przeciwieństwem architektury dwupoziomowej. Nie ma bezpośredniej komunikacji między użytkownikiem a bazą danych. Użytkownik wysyła żądanie do warstwy środkowej (serwera aplikacji), z którego jest ponownie wysyłane do bazy danych. Następnie baza danych przetwarza żądanie i wysyła wynik do warstwy pośredniej, z której użytkownik otrzymuje wynik / odpowiedź.
Upraszcza wdrażanie i zarządzanie. Dyrektorzy Systemu Informacji Zarządzania (MIS) używają tej architektury, ponieważ ułatwia ona utrzymanie kontroli dostępu i aktualizacji danych korporacyjnych.
Architektura trójwarstwowa
Komponenty JDBC
W JDBC dostępne są 4 główne komponenty. Oni są:
- JDBC API
- Menedżer sterowników JDBC
- JDBC Test Suite
- JDBC - most ODBC
# 1) JDBC API: Zapewnia dostęp do relacyjnych baz danych z dowolnego programu Java. Interfejs API JDBC zawiera zestaw klas i interfejsów napisanych w języku Java, które stanowią standardowe narzędzie / interfejs API dla programistów. Korzystając z interfejsu API JDBC, można tworzyć i wykonywać zapytania SQL, odbierać wyniki, wprowadzać zmiany w danych i zapisywać wyniki z powrotem w bazie danych.
Może współpracować z wieloma bazami danych, takimi jak Oracle, MySQL, MS Access z jednego programu Java. Dzięki JDBC API nie jest konieczne pisanie jednego programu, aby uzyskać dostęp do Oracle DB, innego programu, aby uzyskać dostęp do MySQL, innego programu, aby uzyskać dostęp do MS Access i tak dalej.
JDBC API jest częścią platformy Java, która obejmuje zarówno język Java Standard Edition (Java SE), jak i Java Enterprise Edition (Java EE).
Interfejs API JDBC 4.0 ma 2 pakiety.
- Java.sql
- Javax.sql
Oba pakiety są dostępne w językach Java SE i Java EE.
# 2) Menedżer sterowników JDBC: Tradycyjną warstwą zarządzania JDBC jest Driver Manager i działa jako interfejs między użytkownikiem a sterownikami. Przechowuje szczegółowe informacje o śledzeniu dostępnych sterowników i ustanawia połączenie między bazą danych a odpowiednim sterownikiem. Definiuje obiekty, które mogą łączyć aplikację Java ze sterownikiem JDBC. Tym samym stanowi podstawę interfejsu API JDBC.
Omówimy Menedżera sterowników w następnym samouczku.
# 3) Zestaw testów JDBC: Pomaga ustalić, czy sterowniki JDBC uruchomią program, czy nie. Daje pewność i zgodność, że program będzie działał przez sterowniki JDBC.
# 4) Most JDBC- ODBC: To wykorzystuje sterowniki ODBC jako sterowniki JDBC. Jest podobny do sterownika TYPE I, który jest już omówiony w sekcji typów sterowników w tym samouczku.
Najważniejsze punkty, na które należy zwrócić uwagę:
- JDBC jest używany do interakcji z bazą danych z dowolnego programu Java, takiego jak aplikacja Java, aplety, serwlety.
- Najnowsza wersja JDBC to JDBC 4.3. Jest to stabilne wydanie od 21śwWrz 2017.
- Kierowca typu I: Most JDBC ODBC - łatwy w użyciu, ale ODBC zależy od platformy. Jest to również sterownik o niskiej wydajności.
- Sterownik typu II: Natywny interfejs API - natywna część kodu zastąpiła część ODBC w sterowniku typu I i jest przeznaczona dla określonego produktu bazodanowego. Jest szybszy niż sterownik typu I.
- Kierowca typu III: Środkowa warstwa lub serwer aplikacji są używane jako interfejs między sterownikiem JDBC a bazą danych. Do efektywnego korzystania z niego potrzebna jest znajomość serwera aplikacji.
- Sterownik typu IV: Sterownik JDBC natychmiast komunikuje się z bazą danych. Dostawcy baz danych używają tego typu sterownika i dostarczają go klientom lub programistom.
- JDBC może być używany w dowolnym programie napisanym w języku Java.
Wniosek
W tym samouczku dotyczącym JDBC poznaliśmy podstawy JDBC i wymagania wstępne potrzebne przed kontynuowaniem pracy z JDBC. Widzieliśmy jego wersje i 4 typy sterowników, które pomagają programistom w wyborze typu sterownika używanego w programach.
Omówiliśmy również architekturę JDBC i jego 4 podstawowe komponenty.
rekomendowane lektury
- JDBC DriverManager, JDBC PreparedStatement And Statement
- Samouczek Selenium ChromeDriver: Testy Selenium Webdriver w przeglądarce Chrome
- Samouczek Java SWING: kontener, komponenty i obsługa zdarzeń
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Data Driven Framework w Selenium WebDriver przy użyciu Apache POI
- Obsługa elementów iFrame przy użyciu metody switchTo () Selenium WebDriver
- Testowanie dostępności z Selenium Webdriver z przykładem kodu
- Jak uruchomić Selenium WebDriver w różnych popularnych przeglądarkach