Wprowadzenie do architektury JDBC

Java Database Connectivity (JDBC) to interfejs API (Application Program Interface) lub niezależny od platformy interfejs, który pomaga łączyć programy Java z różnymi bazami danych, takimi jak Oracle, My SQL, MS Access i SQL Server. Zapewnia sposoby zapytania i aktualizacji bazy danych za pomocą instrukcji aktualizacji języka SQL (Structured Query Language), takich jak CREATE, DELETE, INSERT i UPDATE oraz instrukcji zapytania, takich jak SELECT. Jest prawie podobny do ODBC (Open Database Connectivity) dostarczonego przez Microsoft.

Aby połączyć program lub aplikację Java z bazą danych, należy wykonać pięć kroków:

1. Załaduj sterownik: Sterownik pomaga nawiązać połączenie z bazą danych, dlatego sterownik należy załadować raz w programie. Można to zrobić na dwa sposoby:

  • Class.forName (): Dzięki temu plik klasy sterownika jest ładowany do pamięci w czasie wykonywania. Nie ma potrzeby tworzenia nowego obiektu. Na przykład:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): W tym przypadku DriverManager jest wbudowaną klasą Java, w której rejestr jest jej statycznym elementem. Dzięki temu konstruktor klasy sterownika jest wywoływany podczas kompilacji. W tym nowy obiekt jest tworzony. Na przykład:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Tworzenie połączeń: Po załadowaniu sterownika połączenie jest konfigurowane. Obiekt połączenia używa nazwy użytkownika, hasła i adresu URL do skonfigurowania połączenia. Adres URL ma predefiniowany format, który zawiera nazwę bazy danych, używany sterownik, adres IP, w którym baza danych jest przechowywana, numer portu i usługodawcę. Połączenie można skonfigurować za pomocą polecenia:

Connection con = DriverManager.getConnection(URL, user, password);

3. Tworzenie instrukcji: Po ustanowieniu połączenia użytkownik może wchodzić w interakcje z bazą danych. Interfejsy takie jak instrukcja JDBC, PreparedStatement, CallableStatement zapewniają metody, które pozwalają użytkownikowi wysyłać instrukcje SQL i pobierać dane z bazy danych. Polecenie użyte do utworzenia instrukcji to;

Statement stmt = con.createStatement();

4. Wykonywanie zapytania: zapytanie SQL jest wykonywane w celu interakcji z bazą danych. Zapytanie może dotyczyć aktualizacji / wstawiania do bazy danych lub pobierania danych. Interfejs instrukcji udostępnia dwie metody, tj. Metodę executeQuery () do wykonywania zapytań w celu pobrania danych, podczas gdy metoda executeUpdate () do wykonywania zapytań o aktualizację lub wstawianie. Na przykład:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Zamykanie połączenia: Po wykonaniu naszej kwerendy użytkownik danych, który chciał zaktualizować lub pobrać, został wykonany, więc teraz nadszedł czas, aby zamknąć ustanowione połączenie. Interfejs połączenia zapewnia metodę close () w celu zamknięcia połączenia. Na przykład:

con.close();

Architektura JDBC

JDBC obsługuje dwa typy modeli przetwarzania w celu uzyskania dostępu do bazy danych, tj. Dwuwarstwowy i trójwarstwowy.

1. Architektura dwuwarstwowa:

Ta architektura pomaga programowi lub aplikacji Java w bezpośredniej komunikacji z bazą danych. Potrzebuje sterownika JDBC do komunikacji z określoną bazą danych. Zapytanie lub zapytanie jest wysyłane przez użytkownika do bazy danych, a wyniki są odbierane przez użytkownika. Baza danych może znajdować się na tym samym komputerze lub dowolnym komputerze zdalnym podłączonym przez sieć. Takie podejście nazywa się architekturą lub konfiguracją klient-serwer.

2. Architektura trójwarstwowa:

W tym nie ma bezpośredniej komunikacji. Żądania są wysyłane do warstwy środkowej, tj. Przeglądarka HTML wysyła żądanie do aplikacji Java, które jest następnie wysyłane do bazy danych. Baza danych przetwarza żądanie i wysyła wynik z powrotem do środkowej warstwy, która następnie komunikuje się z użytkownikiem. Zwiększa wydajność i upraszcza wdrażanie aplikacji.

Komponenty architektury JDBC

  • Driver Manager: Jest to klasa, która zawiera listę wszystkich sterowników. Po otrzymaniu żądania połączenia dopasowuje żądanie do odpowiedniego sterownika bazy danych, używając protokołu zwanego podprotokołem komunikacji. Odpowiedni sterownik służy do nawiązania połączenia.
  • Driver: Jest to interfejs kontrolujący komunikację z serwerem bazy danych. Obiekty DriverManager służą do komunikacji.
  • Połączenie: Jest to interfejs zawierający metody kontaktu z bazą danych.
  • Instrukcja: Ten interfejs tworzy obiekt do przesyłania zapytań SQL lub instrukcji do bazy danych.
  • ResultSet: Zawiera wyniki pobrane po wykonaniu instrukcji SQL lub zapytań.
  • SQLException: Wszelkie błędy występujące w aplikacji bazy danych są obsługiwane przez tę klasę.

Podstawowy schemat architektoniczny JDBC pokazano poniżej z pozycjonowaniem wszystkich komponentów:

Interfejsy

Pakiet java.sql składa się z wielu interfejsów. Niektóre popularne interfejsy są wymienione poniżej:

  • Interfejs sterownika: Ten interfejs pozwala na wiele sterowników bazy danych. Obiekty DriverManager są tworzone w celu komunikacji z bazą danych. Obiekty te są tworzone przez DriverManager.registerDriver ();
  • Interfejs połączenia: Interfejs połączenia ustanawia połączenie, tj. Sesję między programem Java a bazą danych. Ma wiele metod, takich jak rollback (), close () itp.
  • Interfejs instrukcji: Ten interfejs zapewnia metody wykonywania zapytań SQL. Udostępnia fabryczne metody uzyskiwania obiektu ResultSet. Niektóre metody interfejsu instrukcji to executeQuery (), executeUpdate () itp.
  • Interfejs PreparedStatement: Interfejs ten pomaga, gdy zapytania SQL muszą zostać zaimplementowane wiele razy. Akceptuje parametry wejściowe podczas działania.
  • Interfejs CallableStatement: Ten interfejs jest używany, gdy mają być dostępne procedury składowane. Akceptuje również parametry w czasie wykonywania.
  • Interfejs ResultSet: Ten interfejs pomaga przechowywać wyniki zwrócone po wykonaniu zapytań SQL.

Rodzaje sterowników JDBC

Istnieją cztery typy sterowników JDBC:

1. Sterownik typu 1 lub most JDBC-ODBC: ten sterownik działa jak pomost między JDBC a ODBC. Konwertuje wywołania JDBC na wywołania ODBC, a następnie wysyła żądanie do sterownika ODBC. Jest łatwy w użyciu, ale czas wykonywania jest wolny.

2. Sterownik typu 2 lub macierzysty interfejs API częściowo Java Sterownik: Ten sterownik używa wywołania JNI (Java Native Interface) w interfejsie API klienta specyficznego dla bazy danych. Jest stosunkowo szybszy niż sterownik typu 1, ale wymaga natywnej biblioteki, a koszty aplikacji również rosną.

3. Sterownik typu 3 lub sterownik protokołu sieciowego: Sterowniki te komunikują się z serwerem oprogramowania pośredniego JDBC przy użyciu zastrzeżonego protokołu sieciowego. To oprogramowanie pośrednie tłumaczy protokół sieciowy na wywołania specyficzne dla bazy danych. Są niezależne od bazy danych. Mogą przełączać się z jednej bazy danych na drugą, ale są powolne z powodu wielu połączeń sieciowych.

4. Sterownik typu 4 lub cienki: Ten sterownik jest również nazywany czystym sterownikiem Java, ponieważ bezpośrednio współpracuje z bazą danych. Nie wymaga natywnej biblioteki ani serwera oprogramowania pośredniego. Ma lepszą wydajność niż inne sterowniki, ale stosunkowo powolny ze względu na wzrost liczby połączeń sieciowych.

Wniosek

W tym artykule określono architekturę JDBC, jej interfejsy i typy sterowników do komunikacji lub interakcji z bazą danych.

Teraz dzienne bazy danych są utrzymywane w każdym sektorze, dlatego ich aktualizacja i pobieranie danych z nich jest konieczne. Dlatego zrozumienie architektury pomogłoby zrozumieć podstawowe koncepcje JDBC.

Polecane artykuły

Jest to przewodnik po architekturze JDBC. W tym miejscu omówiliśmy typy sterowników, interfejsów i komponentów architektury JDBC. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Jak zainstalować Javę 8?
  2. Pytania do wywiadu JDBC
  3. Jak zainstalować Apache?