java jdbc tutorial what is jdbc
Ausgehend von den Grundlagen werden in diesem JDBC-Lernprogramm Komponenten, Architektur und Treibertypen in Java Database Connectivity (JDBC) erläutert:
In diesem Lernprogramm wird erläutert, was JDBC ist, welche Versionen bis jetzt veröffentlicht wurden, welche Voraussetzungen erforderlich sind, um mit JDBC fortzufahren, welche Arten von Treibern usw. Am Ende dieses Lernprogramms erfahren Sie, wo und wo die Grundlagen der Java Database Connectivity oder JDBC liegen können wir es benutzen.
Beginnen wir dieses Tutorial mit den Grundlagen von JDBC.
Was du lernen wirst:
Liste der Java JDBC-Tutorials
Tutorial Nr. 1: Was ist JDBC (Java Database Connectivity) (Dieses Tutorial)
Tutorial # 2: Java JDBC-Verbindungs-Tutorial mit Programmierbeispiel
Tutorial # 3: JDBC DriverManager, JDBC PreparedStatement And Statement
Tutorial # 4: JDBC ResultSet: Verwendung von Java ResultSet zum Abrufen von Daten
Tutorial Nr. 5: Java JDBC Transaction Management mit Beispiel
Tutorial # 6: Behandlung von JDBC-Ausnahmen - Umgang mit SQL-Ausnahmen
Tutorial Nr. 7: Tutorial zur JDBC-Stapelverarbeitung und gespeicherten Prozedur
Tutorial Nr. 8: Top 25+ JDBC Interview Fragen und Antworten
Was ist JDBC?
In den meisten Java-Anwendungen muss immer mit Datenbanken interagiert werden, um die Daten abzurufen, zu bearbeiten und zu verarbeiten. Zu diesem Zweck wurde Java JDBC eingeführt.
JDBC ist die häufig verwendete Kurzform für Java Database Connectivity. Mithilfe von JDBC können wir mit verschiedenen Arten relationaler Datenbanken wie Oracle, MySQL, MS Access usw. interagieren.
Vor JDBC wurde die ODBC-API eingeführt, um eine Verbindung mit der Datenbank herzustellen und Vorgänge auszuführen. ODBC verwendet einen ODBC-Treiber, der plattformabhängig ist, da er in der Programmiersprache C geschrieben wurde. Die JDBC-API ist in Java-Sprache geschrieben, plattformunabhängig und macht Java selbst plattformunabhängig.
Das folgende Diagramm zeigt den grundlegenden Ablauf von JDBC:
Versionen von JDBC
Zunächst hatte Sun Microsystems am 19. Februar 1997 JDBC in JDK 1.1 veröffentlicht. Danach war es Teil der Java-Plattform.
Die folgende Tabelle enthält JDBC-Versionen und -Implementierungen:
JDBC-Version | JDK-Implementierung | Jahr |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Voraussetzung
Bevor Sie mit dem JDBC-Lernprogramm fortfahren, müssen Sie über gute Java-Kenntnisse verfügen, damit Sie JDBC in Java-Programmen verwenden können.
=> Empfohlene Lektüre: Java-Tutorials
Voraussetzungen für die Implementierung von JDBC in Java-Anwendungen sind:
1. Java sollte auf dem System installiert sein, auf dem Sie eine Java-Anwendung erstellen und JDBC verwenden möchten.
Beziehen Sie sich darauf Verknüpfung für die Java-Installation.
2. Sie sollten über geeignete JDBC-Treiber-JAR-Dateien verfügen, um eine Verbindung mit DBMS herstellen zu können. Jede Datenbank verfügt über unterschiedliche JDBC-Treiber-JAR-Dateien.
Sie können diese Dateien für die jeweilige Datenbank über die Links in der folgenden Tabelle herunterladen:
Datenbank mit Download-Link | Name des JDBC-Treiberanbieters | JAR-Dateiname |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Orakel | Oracle Corporation | Orakelojdbc8.jar |
SQL Server | Microsoft Corporation | SQL Serversqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | PostgreSQL Global Development Group | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Treiberarten in JDBC
Lassen Sie uns nun die Treibertypen in JDBC erläutern, um Ihnen bei der Auswahl des für Ihr Programm geeigneten Treibers zu helfen.
Alle RDMS (Relational Database Management System) benötigen einen Treiber, wenn von außerhalb ihres Systems auf sie zugegriffen werden soll. Daher muss der JDBC-Treiber SQL-Abfragen ausführen und das Ergebnis aus der Datenbank abrufen.
In JDBC stehen 4 verschiedene Arten von Treibern zur Verfügung. Sie werden anhand der Technik klassifiziert, mit der auf eine Datenbank zugegriffen wird.
Sie sind wie folgt:
- Typ I: JDBC-ODBC-Brücke
- Typ II: Native APT - Teilweise Java-Treiber
- Typ III: Netzwerkprotokoll - Vollständiger Java-Treiber
- Typ IV: Thin Driver - Vollständiger Java-Treiber
Typ I: JDBC-ODBC-Brücke
Bei diesem Treibertyp fungiert JDBC - ODBC Bridge als Schnittstelle zwischen Client und DB-Server. Wenn ein Benutzer eine Java-Anwendung verwendet, um mithilfe von JDBC - ODBC Bridge Anforderungen an die Datenbank zu senden, konvertiert er zuerst die JDBC-API in die ODBC-API und sendet sie dann an die Datenbank. Wenn das Ergebnis von der Datenbank empfangen wird, wird es an die ODBC-API und dann an die JDBC-API gesendet.
Dieser Treiber ist plattformabhängig, da er ODBC verwendet, das von der nativen Bibliothek des Betriebssystems abhängt. Bei diesem Typ sollte der JDBC-ODBC-Treiber auf jedem Client-System installiert sein und die Datenbank muss den ODBC-Treiber unterstützen.
Wenn es nicht um die Installation auf dem Client-Computer geht, können wir diesen Treiber verwenden. Es ist einfach zu verwenden, bietet jedoch aufgrund der Konvertierung der JDBC-Methodenaufrufe in die ODBC-Methodenaufrufe eine geringe Leistung.
Hinweis: Es ist in JDK 1.2 verfügbar
Java 8 unterstützt diesen Treibertyp nicht. Oracle empfiehlt dem Benutzer, die von seinen Datenbankanbietern bereitgestellten JDBC-Treiber zu verwenden.
Abbildung: Typ I: JDBC - ODBC-Brückentreiber
Typ II: Native API - Teilweise Java-Treiber
Es ähnelt dem Typ I-Treiber. Hier wird der ODBC-Teil im Typ II-Treiber durch nativen Code ersetzt. Dieser native Codeteil zielt auf ein bestimmtes Datenbankprodukt ab. Es verwendet die Bibliotheken der Client-Seite der Datenbank. Dieser Treiber konvertiert die JDBC-Methodenaufrufe in native Aufrufe der nativen Datenbank-API.
Wenn die Datenbank die Anforderungen vom Benutzer erhält, werden die Anforderungen verarbeitet und mit den Ergebnissen im nativen Format zurückgesendet, die in das JDBC-Format konvertiert und an die Java-Anwendung übergeben werden sollen.
Es wurde sofort von den DB-Anbietern übernommen, da es schnell und kostengünstig zu implementieren war. Es ist auch im nativen Format der DB.
Dieser Treibertyp bietet eine schnellere Reaktion und Leistung als der Typ I-Treiber.
Abbildung: Typ II: Native APT - Teilweise Java-Treiber
Typ III: Netzwerkprotokoll
Der Typ III-Treiber ist vollständig in Java geschrieben. Es ist wie ein dreistufiger Ansatz, auf die Datenbank zuzugreifen. Es sendet die JDBC-Methodenaufrufe an einen Zwischenserver. Im Auftrag des JDBC kommuniziert der Zwischenserver mit der Datenbank. Der Anwendungsserver (Zwischen- oder Mittelschicht) konvertiert die JDBC-Aufrufe entweder direkt oder indirekt in das herstellerspezifische Datenbankprotokoll.
Dieser Ansatz erhöht nicht die Effizienz der Architektur und ist auch kostspielig, da die meisten Datenbankanbieter diesen Treiber nicht bevorzugen. Da der Anwendungsserver verwendet wird, müssen Sie über gute Kenntnisse des Anwendungsservers verfügen, um diesen Ansatz effizient nutzen zu können.
Abbildung: Typ III: Netzwerkprotokoll - Vollständiger Java-Treiber
Typ IV: Dünner Treiber
Der Typ IV-Treiber ist direkt implementiert und konvertiert JDBC-Aufrufe direkt in das herstellerspezifische Datenbankprotokoll. Heutzutage sind die meisten JDBC-Treiber Typ IV-Treiber. Es ist vollständig in Java geschrieben und somit plattformunabhängig. Es wird in der JVM (Java Virtual Machine) des Clients installiert, sodass Sie keine Software auf der Client- oder Serverseite installieren müssen. Diese Treiberarchitektur verfügt über die gesamte Logik, um in einem einzigen Treiber direkt mit der Datenbank zu kommunizieren.
Es bietet eine bessere Leistung als die anderen Treiber. Es ermöglicht eine einfache Bereitstellung. Heutzutage wird dieser Treibertyp vom Datenbankanbieter selbst entwickelt, sodass Programmierer ihn direkt verwenden können, ohne von anderen Quellen abhängig zu sein.
Abbildung: Typ IV: Thin Driver - Vollständiger Java-Treiber
Anwendungen von JDBC
JDBC kann in Java-Anwendungen, Applets, Servlets oder anderen Java-Programmen verwendet werden, in denen Sie eine Verbindung mit DB herstellen möchten.
Zum Beispiel, Eigenständige Anwendungen, Websites, Bankanwendungen usw.
Architektur und Komponenten von JDBC
JDBC-Architektur: Es werden zwei Arten von Verarbeitungsmodellen für den Zugriff auf die Datenbank unterstützt.
Diese sind:
- Zweistufige Architektur
- Dreistufige Architektur
# 1) Zweistufige Architektur:
Es hilft der Java-Anwendung, eine direkte Verbindung mit der Datenbank herzustellen. Für die Kommunikation mit einer bestimmten Datenbank wird ein JDBC-Treiber benötigt. Der Benutzer sendet die Anforderungen an die Datenbank und empfängt die Antwort direkt ohne Mediator außer dem JDBC-Treiber. Die Datenbank, entweder auf demselben Computer oder auf einem Remotecomputer, ist über ein Netzwerk verbunden. Es kann als Client-Server-Architektur aufgerufen werden.
# 2) Dreistufige Architektur:
Es ist das Gegenteil von zweistufiger Architektur. Es gibt keine direkte Kommunikation zwischen dem Benutzer und der Datenbank. Der Benutzer sendet die Anforderung an die mittlere Ebene (Anwendungsserver), von der die Anforderung erneut an die Datenbank gesendet wird. Anschließend verarbeitet die Datenbank die Anforderung und sendet das Ergebnis an die mittlere Ebene, von der der Benutzer das Ergebnis / die Antwort erhält.
Es vereinfacht die Bereitstellung und Verwaltung. Direktoren des Management Information System (MIS) verwenden diese Architektur, da sie die Zugriffskontrolle und Aktualisierungen von Unternehmensdaten vereinfacht.
Dreistufige Architektur
Komponenten von JDBC
In JDBC sind 4 Hauptkomponenten verfügbar. Sie sind:
- JDBC-API
- JDBC-Treiber-Manager
- JDBC Test Suite
- JDBC - ODBC-Brücke
# 1) JDBC-API: Es bietet Zugriff auf relationale Datenbanken von jedem Java-Programm aus. Die JDBC-API verfügt über eine Reihe von Klassen und Schnittstellen, die in Java geschrieben sind und ein Standardtool / eine Standard-API für Entwickler bieten. Mit der JDBC-API können Sie SQL-Abfragen erstellen und ausführen, das Ergebnis empfangen, Änderungen an den Daten vornehmen und die Ergebnisse wieder in der Datenbank speichern.
Es kann mit mehreren Datenbanken wie Oracle, MySQL, MS Access von einem einzigen Java-Programm aus interagieren. Mit der JDBC-API ist es nicht erforderlich, ein Programm für den Zugriff auf Oracle DB, ein anderes Programm für den Zugriff auf MySQL, ein anderes Programm für den Zugriff auf MS Access usw. zu schreiben.
Die JDBC-API ist Teil der Java-Plattform, die sowohl Java Standard Edition (Java SE) als auch Java Enterprise Edition (Java EE) enthält.
Die JDBC 4.0-API verfügt über 2 Pakete.
- Java.sql
- Javax.sql
Beide Pakete sind in Java SE und Java EE verfügbar.
# 2) JDBC-Treiber-Manager: Die traditionelle Verwaltungsebene von JDBC ist Driver Manager und fungiert als Schnittstelle zwischen dem Benutzer und den Treibern. Es behält die Tracking-Details der verfügbaren Treiber bei und stellt eine Verbindung zwischen der Datenbank und dem entsprechenden Treiber her. Es definiert die Objekte, die die Java-App mit dem JDBC-Treiber verbinden können. Somit ist es das Rückgrat der JDBC-API.
Wir werden den Treibermanager im nächsten Tutorial besprechen.
# 3) JDBC Test Suite: Es hilft herauszufinden, ob die JDBC-Treiber das Programm ausführen oder nicht. Es bietet das Vertrauen und die Konformität, die das Programm von JDBC-Treibern ausführen wird.
# 4) JDBC-ODBC-Brücke: Dies verwendet ODBC-Treiber als JDBC-Treiber. Es ähnelt dem TYPE I-Treiber, der bereits im Abschnitt Treibertypen in diesem Lernprogramm behandelt wird.
Wichtige Punkte zu beachten:
- JDBC wird verwendet, um mit der Datenbank von jedem Java-Programm wie Java-Anwendung, Applets, Servlets aus zu interagieren.
- Die neueste Version von JDBC ist JDBC 4.3. Es ist eine stabile Version seit 21stSep 2017.
- Typ I Treiber: JDBC ODBC Bridge - einfach zu bedienen, aber ODBC ist plattformabhängig. Es ist auch ein Treiber mit geringer Leistung.
- Typ II-Treiber: Native API - Der native Codeteil ersetzte den ODBC-Teil im Typ I-Treiber und zielte auf ein bestimmtes Datenbankprodukt ab. Es ist schneller als Typ I Treiber.
- Typ III Treiber: Middle Tier oder Application Server wird als Schnittstelle zwischen JDBC-Treiber und Datenbank verwendet. Kenntnisse über Application Server sind erforderlich, um es effektiv nutzen zu können.
- Typ IV-Treiber: Der JDBC-Treiber kommuniziert sofort mit der Datenbank. Datenbankanbieter verwenden diesen Treibertyp und stellen ihn Kunden oder Entwicklern zur Verfügung.
- JDBC kann in jedem Programm verwendet werden, das in Java geschrieben ist.
Fazit
In diesem JDBC-Tutorial haben wir die Grundlagen von JDBC und die erforderlichen Voraussetzungen kennengelernt, bevor wir mit JDBC fortfahren. Wir haben seine Versionen und 4 Arten von Treibern gesehen, die den Entwicklern helfen, den in Programmen zu verwendenden Treibertyp zu bestimmen.
Wir haben auch die Architektur von JDBC und seine 4 Kernkomponenten diskutiert.
Literatur-Empfehlungen
- JDBC DriverManager, JDBC PreparedStatement And Statement
- ChromeDriver Selenium Tutorial: Selenium Webdriver-Tests auf Chrome
- Java SWING Tutorial: Container-, Komponenten- und Ereignisbehandlung
- JAVA-Tutorial für Anfänger: Über 100 praktische Java-Video-Tutorials
- Datengesteuertes Framework in Selenium WebDriver mit Apache POI
- Umgang mit iFrames mit der Selenium WebDriver-Methode switchTo ()
- Zugänglichkeitstests mit Selenium Webdriver mit Codebeispiel
- So führen Sie Selenium WebDriver in verschiedenen gängigen Browsern aus