JDBC - Wprowadzenie

Co to jest JDBC?

JDBC oznacza Java Database Connectivity, czyli standardowy interfejs API języka Java zapewniający niezależną od bazy danych łączność między językiem programowania Java a szeroką gamą baz danych.

Biblioteka JDBC zawiera interfejsy API dla każdego z wymienionych poniżej zadań, które są często związane z użyciem bazy danych.

  • Nawiązywanie połączenia z bazą danych.

  • Tworzenie instrukcji SQL lub MySQL.

  • Wykonywanie zapytań SQL lub MySQL w bazie danych.

  • Przeglądanie i modyfikowanie wynikowych rekordów.

Zasadniczo JDBC to specyfikacja zapewniająca pełny zestaw interfejsów, który umożliwia przenośny dostęp do podstawowej bazy danych. Java może być używana do pisania różnych typów plików wykonywalnych, takich jak -

  • Aplikacje Java

  • Aplety Java

  • Serwlety Java

  • Java ServerPages (JSP)

  • Enterprise JavaBeans (EJB).

Wszystkie te różne pliki wykonywalne mogą korzystać ze sterownika JDBC w celu uzyskania dostępu do bazy danych i wykorzystania przechowywanych danych.

JDBC zapewnia te same możliwości, co ODBC, dzięki czemu programy Java mogą zawierać kod niezależny od bazy danych.

Warunek wstępny

Zanim przejdziesz dalej, musisz dobrze rozumieć dwa następujące tematy -

  • Podstawowe programowanie w języku JAVA

  • Baza danych SQL lub MySQL

Architektura JDBC

Interfejs API JDBC obsługuje zarówno dwuwarstwowe, jak i trójwarstwowe modele przetwarzania dostępu do bazy danych, ale ogólnie architektura JDBC składa się z dwóch warstw -

  • JDBC API: Zapewnia to połączenie aplikacji z menedżerem JDBC.

  • JDBC Driver API: Obsługuje połączenie menedżera JDBC ze sterownikiem.

Interfejs API JDBC wykorzystuje menedżera sterowników i sterowniki specyficzne dla bazy danych, aby zapewnić przejrzystą łączność z heterogenicznymi bazami danych.

Menedżer sterowników JDBC zapewnia, że ​​do uzyskania dostępu do każdego źródła danych używany jest poprawny sterownik. Menedżer sterowników może obsługiwać wiele współbieżnych sterowników podłączonych do wielu heterogenicznych baz danych.

Poniżej znajduje się diagram architektoniczny, który pokazuje lokalizację menedżera sterowników w odniesieniu do sterowników JDBC i aplikacji Java -

Wspólne komponenty JDBC

Interfejs API JDBC zapewnia następujące interfejsy i klasy -

  • DriverManager:Ta klasa zarządza listą sterowników bazy danych. Dopasowuje żądania połączeń z aplikacji Java z odpowiednim sterownikiem bazy danych przy użyciu protokołu komunikacyjnego. Do ustanowienia połączenia z bazą danych zostanie użyty pierwszy sterownik, który rozpozna określony podprotokół w JDBC.

  • Driver:Ten interfejs obsługuje komunikację z serwerem bazy danych. Bardzo rzadko będziesz wchodzić w interakcje bezpośrednio z obiektami kierowcy. Zamiast tego używasz obiektów DriverManager, które zarządzają obiektami tego typu. Opisuje również szczegóły związane z pracą z obiektami sterownika.

  • Connection:Ten interfejs ze wszystkimi metodami kontaktowania się z bazą danych. Obiekt połączenia reprezentuje kontekst komunikacyjny, tzn. Cała komunikacja z bazą danych odbywa się tylko za pośrednictwem obiektu połączenia.

  • Statement:Obiekty utworzone za pomocą tego interfejsu służą do przesyłania instrukcji SQL do bazy danych. Niektóre interfejsy pochodne akceptują parametry oprócz wykonywania procedur składowanych.

  • ResultSet:Te obiekty przechowują dane pobrane z bazy danych po wykonaniu zapytania SQL przy użyciu obiektów instrukcji. Działa jako iterator, umożliwiający poruszanie się po jego danych.

  • SQLException: Ta klasa obsługuje wszelkie błędy, które występują w aplikacji bazy danych.

Pakiety JDBC 4.0

Pliki java.sql i javax.sql są podstawowymi pakietami JDBC 4.0. To jest najnowsza wersja JDBC w momencie pisania tego samouczka. Oferuje główne klasy do interakcji ze źródłami danych.

Nowe funkcje w tych pakietach obejmują zmiany w następujących obszarach -

  • Automatyczne ładowanie sterownika bazy danych.

  • Ulepszenia obsługi wyjątków.

  • Ulepszona funkcjonalność BLOB / CLOB.

  • Udoskonalenia interfejsu połączeń i instrukcji.

  • Obsługa zestawów znaków narodowych.

  • Dostęp do SQL ROWID.

  • Obsługa typu danych XML w SQL 2003.

  • Annotations.