Co to jest JDBC?

JDBC (Java Database Connectivity) to interfejs API dla języka Java, który służy do łączenia się z bazą danych i wykonywania w niej zapytań. Opracowała go firma Sun Microsystems, która dziś jest częścią Oracle. JDBC trafił do użytkowników w 1997 roku i był jedną z najwcześniejszych bibliotek języka Java. Poniżej wyjaśniamy, jak działa JDBC, jakie są typy jego sterowników i z jakich technologii bazodanowych korzysta Java.

Co oznacza skrót JDBC?

Skrót JDBC oznacza Java Database Connectivity, czyli łączność Javy z bazami danych. To specyfikacja firmy Sun Microsystems opisująca API Javy do komunikacji z bazą. Dzięki niej aplikacja napisana w Javie porozumiewa się z różnymi bazami danych. Programista korzysta przy tym z jednego, wspólnego interfejsu.

Jak działa JDBC?

JDBC działa jako pośrednik, który daje aplikacji dostęp do różnych baz danych. Taka aplikacja pracuje na każdej platformie z maszyną wirtualną Java. Nie trzeba pisać osobnych programów dla poszczególnych systemów bazodanowych. Jedna aplikacja wysyła polecenia SQL do wielu źródeł danych.

W praktyce Java Database Connectivity pomaga pisać aplikacje w Javie, które łączą się ze źródłem danych, na przykład z bazą. Taki program wysyła następnie do bazy zapytania i polecenia aktualizacji. Jeden kod obsługuje przy tym różne silniki.

Jakie są typy sterowników JDBC?

Typy sterowników JDBC są cztery i różnią się sposobem łączenia z bazą. Każdy z nich inaczej prowadzi zapytania aplikacji do bazy. Oto one:

  1. Sterownik typu 1 to sterownik mostkowy, który przekształca wywołania JDBC na Open Database Connectivity (ODBC).
  2. Sterownik typu 2 nie musi być napisany w Javie i zwykle zawiera zastrzeżony kod dla danej bazy, który poprawia wydajność i przepustowość.
  3. Sterownik typu 3, nazywany też sterownikiem proxy JDBC, łączy się najpierw z serwerem oprogramowania pośredniczącego, a dopiero ten z relacyjną bazą.
  4. Sterownik typu 4 jest napisany wyłącznie w Javie i działa przez połączenie sieciowe.

Z jakich technologii baz danych korzysta Java?

Java korzysta z kilku technologii baz danych, wśród nich z Java DB, Java Data Objects (JDO) i JDBC. Java DB była wspieraną przez Oracle dystrybucją otwartej bazy danych Apache Derby. Ceniono ją za łatwość użycia, zgodność ze standardami, pełny zestaw funkcji i niewielkie rozmiary. Z tych powodów uchodziła za wygodną bazę dla programistów Javy.

JDO to standardowy interfejs Javy do zapisu danych. Programiści używają go do bezpośredniego przechowywania instancji klas domenowych w trwałym magazynie, czyli w bazie danych. Zaletami JDO są łatwość programowania, przenośność aplikacji i niezależność od konkretnej bazy.

Trzecią opcją jest właśnie JDBC, czyli standard API niezależnego od bazy połączenia Javy z szeroką gamą źródeł danych. Obejmuje on bazy SQL i inne tabelaryczne źródła. Należą do nich na przykład arkusze kalkulacyjne i pliki płaskie.