Einführung in die JDBC-Architektur

Java Database Connectivity (JDBC) ist eine API (Application Program Interface) oder plattformunabhängige Schnittstelle, mit der Java-Programme mit verschiedenen Datenbanken wie Oracle, My SQL, MS Access und SQL Server verbunden werden können. Es bietet Möglichkeiten zum Abfragen und Aktualisieren der Datenbank mit SQL-Aktualisierungsanweisungen (Structured Query Language) wie CREATE, DELETE, INSERT und UPDATE sowie mit Abfrageanweisungen wie SELECT. Es ist fast ähnlich zu ODBC (Open Database Connectivity), das von Microsoft bereitgestellt wurde.

Um das Java-Programm oder die Java-Anwendung mit der Datenbank zu verbinden, müssen fünf Schritte ausgeführt werden:

1. Laden Sie den Treiber: Der Treiber hilft beim Herstellen einer Verbindung zur Datenbank, daher muss der Treiber einmal im Programm geladen werden. Dies kann auf zwei Arten geschehen:

  • Class.forName (): Mit dieser Option wird die Klassendatei des Treibers zur Laufzeit in den Speicher geladen. Es ist nicht erforderlich, ein neues Objekt zu erstellen. Beispielsweise:

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

  • DriverManager.registerDriver (): Hier ist DriverManager eine eingebaute Java-Klasse, in der das Register das statische Mitglied ist. Auf diese Weise wird der Konstruktor der Treiberklasse während der Kompilierungszeit aufgerufen. In diesem neuen Objekt wird erstellt. Beispielsweise:

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

2. Verbindungen erstellen: Nach dem Laden des Treibers wird die Verbindung hergestellt. Das Verbindungsobjekt verwendet Benutzername, Kennwort und URL, um die Verbindung einzurichten. Die URL hat ein vordefiniertes Format, das den Datenbanknamen, den verwendeten Treiber, die IP-Adresse, in der die Datenbank gespeichert ist, die Portnummer und den Dienstanbieter enthält. Die Verbindung kann mit dem folgenden Befehl hergestellt werden:

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

3. Anweisung erstellen: Nach dem Herstellen der Verbindung kann der Benutzer mit der Datenbank interagieren. Die Schnittstellen wie JDBC-Anweisung, PreparedStatement und CallableStatement bieten Methoden, mit denen ein Benutzer SQL-Anweisungen senden und Daten aus der Datenbank abrufen kann. Befehl zum Erstellen der Anweisung ist;

Statement stmt = con.createStatement();

4. Abfrage ausführen: Die SQL-Abfrage wird ausgeführt, um mit der Datenbank zu interagieren. Eine Abfrage kann zum Aktualisieren / Einfügen in die Datenbank oder zum Abrufen von Daten dienen. Die Anweisungsschnittstelle bietet zwei Methoden, nämlich die Methode executeQuery (), um Abfragen zum Abrufen von Daten auszuführen, und die Methode executeUpdate (), um Abfragen zum Aktualisieren oder Einfügen auszuführen. Beispielsweise:

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

5. Schließen der Verbindung: Nach dem Ausführen unserer Abfrage wurde der Datenbenutzer, der aktualisiert oder abgerufen werden soll, fertiggestellt. Jetzt ist es an der Zeit, die hergestellte Verbindung zu schließen. Die Verbindungsschnittstelle bietet eine Methode close () zum Schließen der Verbindung. Beispielsweise:

con.close();

JDBC-Architektur

JDBC unterstützt zwei Arten von Verarbeitungsmodellen für den Zugriff auf Datenbanken, dh zwei- und dreischichtige.

1. Zweistufige Architektur:

Diese Architektur hilft Java-Programmen oder -Anwendungen, direkt mit der Datenbank zu kommunizieren. Für die Kommunikation mit einer bestimmten Datenbank ist ein JDBC-Treiber erforderlich. Der Benutzer sendet eine Anfrage oder Anfrage an die Datenbank, und die Ergebnisse werden vom Benutzer zurückerhalten. Die Datenbank kann sich auf demselben Computer oder auf jedem über ein Netzwerk verbundenen Remote-Computer befinden. Dieser Ansatz wird als Client-Server-Architektur oder Konfiguration bezeichnet.

2. Dreistufige Architektur:

Hier gibt es keine direkte Kommunikation. Anfragen werden an die mittlere Ebene gesendet, dh der HTML-Browser sendet eine Anfrage an die Java-Anwendung, die dann weiter an die Datenbank gesendet wird. Die Datenbank verarbeitet die Anforderung und sendet das Ergebnis zurück an die mittlere Ebene, die dann mit dem Benutzer kommuniziert. Es erhöht die Leistung und vereinfacht die Anwendungsbereitstellung.

Komponenten der JDBC-Architektur

  • Treiber-Manager: Dies ist eine Klasse, die eine Liste aller Treiber enthält. Wenn eine Verbindungsanforderung empfangen wird, ordnet sie die Anforderung dem entsprechenden Datenbanktreiber unter Verwendung eines Protokolls zu, das als Kommunikationsunterprotokoll bezeichnet wird. Der passende Treiber wird zum Herstellen einer Verbindung verwendet.
  • Treiber: Es ist eine Schnittstelle, die die Kommunikation mit dem Datenbankserver steuert. DriverManager-Objekte werden zur Durchführung der Kommunikation verwendet.
  • Verbindung: Es ist eine Schnittstelle, die Methoden zur Kontaktaufnahme mit einer Datenbank enthält.
  • Anweisung: Diese Schnittstelle erstellt ein Objekt, um SQL-Abfragen oder Anweisungen an die Datenbank zu senden.
  • ResultSet: Enthält die Ergebnisse, die nach der Ausführung der SQL-Anweisungen oder Abfragen abgerufen wurden.
  • SQLException: Alle Fehler, die in der Datenbankanwendung auftreten, werden von dieser Klasse behandelt.

Das grundlegende JDBC-Architekturdiagramm mit der Positionierung aller Komponenten wird unten gezeigt:

Schnittstellen

Das Paket java.sql besteht aus vielen Schnittstellen. Einige beliebte Schnittstellen sind nachfolgend aufgeführt:

  • Treiberschnittstelle: Diese Schnittstelle ermöglicht mehrere Datenbanktreiber. DriverManager-Objekte werden für die Kommunikation mit der Datenbank erstellt. Diese Objekte werden von DriverManager.registerDriver () erstellt.
  • Verbindungsschnittstelle: Die Verbindungsschnittstelle stellt die Verbindung her, dh die Sitzung zwischen dem Java-Programm und der Datenbank. Es gibt viele Methoden wie rollback (), close () usw.
  • Anweisungsschnittstelle: Diese Schnittstelle bietet Methoden zur Ausführung der SQL-Abfragen. Es stellt Factory-Methoden zum Abrufen eines ResultSet-Objekts bereit. Einige Methoden der Anweisungsschnittstelle sind executeQuery (), executeUpdate () usw.
  • PreparedStatement-Schnittstelle: Diese Schnittstelle hilft, wenn die SQL-Abfragen mehrmals implementiert werden müssen. Es akzeptiert Eingabeparameter zur Laufzeit.
  • CallableStatement-Schnittstelle: Diese Schnittstelle wird verwendet, wenn auf gespeicherte Prozeduren zugegriffen werden soll. Es akzeptiert auch Parameter während der Laufzeit.
  • ResultSet-Schnittstelle: Mit dieser Schnittstelle können Sie das Ergebnis speichern, das nach der Ausführung der SQL-Abfragen zurückgegeben wurde.

Arten von JDBC-Treibern

Es gibt vier Arten von JDBC-Treibern:

1. Typ-1-Treiber oder JDBC-ODBC-Brücke: Dieser Treiber fungiert als Brücke zwischen JDBC und ODBC. Es konvertiert JDBC-Aufrufe in ODBC-Aufrufe und sendet die Anforderung dann an den ODBC-Treiber. Es ist einfach zu bedienen, aber die Ausführungszeit ist langsam.

2. Typ-2-Treiber oder native API, teilweise Java-Treiber: Dieser Treiber verwendet den JNI-Aufruf (Java Native Interface) für die datenbankspezifische native Client-API. Es ist vergleichsweise schneller als der Typ-1-Treiber, erfordert jedoch eine native Bibliothek und die Anwendungskosten steigen ebenfalls.

3. Typ-3-Treiber oder Netzwerkprotokolltreiber: Diese Treiber kommunizieren über ein proprietäres Netzwerkprotokoll mit dem JDBC-Middleware-Server. Diese Middleware übersetzt das Netzwerkprotokoll in datenbankspezifische Aufrufe. Sie sind datenbankunabhängig. Sie können von einer Datenbank zu einer anderen wechseln, sind jedoch aufgrund vieler Netzwerkaufrufe langsam.

4. Typ-4 oder Thin-Treiber: Dieser Treiber wird auch als reiner Java-Treiber bezeichnet, da er direkt mit der Datenbank interagiert. Es werden weder eine native Bibliothek noch ein Middleware-Server benötigt. Es bietet eine bessere Leistung als andere Treiber, ist jedoch aufgrund einer höheren Anzahl von Netzwerkanrufen vergleichsweise langsam.

Fazit

Dieser Artikel beschreibt die JDBC-Architektur, ihre Schnittstellen und Treibertypen für die Kommunikation oder Interaktion mit der Datenbank.

Jetzt werden die Datenbanken eines Tages in jedem Sektor verwaltet, sodass sie aktualisiert und Daten von ihnen abgerufen werden müssen. Das Verständnis der Architektur würde also helfen, die grundlegenden JDBC-Konzepte zu verstehen.

Empfohlene Artikel

Dies war ein Leitfaden für die JDBC-Architektur. Hier haben wir die Arten von Treibern, Schnittstellen und Komponenten der JDBC-Architektur besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Wie installiere ich Java 8?
  2. Fragen im Vorstellungsgespräch bei JDBC
  3. Wie installiere ich Apache?