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:
- Sterownik typu 1 to sterownik mostkowy, który przekształca wywołania JDBC na Open Database Connectivity (ODBC).
- Sterownik typu 2 nie musi być napisany w Javie i zwykle zawiera zastrzeżony kod dla danej bazy, który poprawia wydajność i przepustowość.
- Sterownik typu 3, nazywany też sterownikiem proxy JDBC, łączy się najpierw z serwerem oprogramowania pośredniczącego, a dopiero ten z relacyjną bazą.
- 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.