Wie verbinde ich mich mit einer Datenbank in Java? - JDBC-Tutorial



In diesem Artikel erfahren Sie, wie Sie eine MySQL-Datenbank in Java verbinden. JDBC ist eine der Standard-Java-APIs für die datenbankunabhängige Konnektivität zwischen Java und einer Vielzahl von Datenbanken.

Als eine der bekanntesten Programmiersprachen bietet es umfassende Unterstützung für Datenbanken. Es hilft uns, über verschiedene Datenbanken eine Verbindung herzustellen (Java-Datenbankkonnektivität). In diesem Artikel werde ich Ihnen erklären, wie Sie eine Verbindung zu einer Datenbank herstellen und Abfragen mit JDBC ausführen.

Die folgenden Themen werden in diesem Artikel behandelt:





Einführung in JDBC

JDBC ist eine der Standard-Java-APIs für datenbankunabhängige Konnektivität zwischen und eine breite Palette von Datenbanken.Mit dieser API können Sie die Zugriffsanforderungsanweisungen in codieren Strukturierte Abfragesprache (SQL). DiesHauptsächlich geht es darum, eine Verbindung zu öffnen, eine SQL-Datenbank zu erstellen, SQL-Abfragen auszuführen und dann zur Ausgabe zu gelangen.

Die JDBC-API kann verwendet werden, um auf Tabellendaten zuzugreifen, die in einer beliebigen relationalen Datenbank gespeichert sind. Damit können Sie die Daten aus den Datenbanken aktualisieren, speichern, abrufen und löschen. Es ähnelt der von Microsoft bereitgestellten Open Database Connectivity (ODBC).



Lassen Sie uns zum besseren Verständnis der Funktionsweise von JDBC tiefer in das Thema eintauchen und die Architektur verstehen, die hinter Java Database Connectivity steckt.

Allgemeine JDBC-Komponenten

Die JDBC-API bietet die folgenden Schnittstellen und Klassen & minus

  • DriverManager: Dies wird hauptsächlich zum Verwalten einer Liste von Datenbanktreibern verwendet. Der Treiber, der ein bestimmtes Unterprotokoll erkennt, wird zum Herstellen einer Datenbankverbindung verwendet.



  • Der Fahrer ist eine Schnittstelle, die die Kommunikation mit dem Datenbankserver übernimmt. Es abstrahiert auch die Detailsdie während der Arbeit mit Treiberobjekten zugeordnet werden.

  • Eine Verbindung ist eine Schnittstelle, die aus allen Methoden besteht, die zum Herstellen einer Verbindung mit einer Datenbank erforderlich sind. Das Verbindungsobjekt befasst sich mit den Kommunikationsfunktionen der Datenbank. Kontext.

Fahren wir nun mit dem nächsten Thema fort und sehen uns die Schritte an, die zum Erstellen einer JDBC-Anwendung erforderlich sind.

Schritte zum Erstellen einer JDBC-Anwendung

Um eine JDBC-Anwendung zu erstellen, müssen Sie einige Schritte ausführen. Mal sehen, was sie sind.

Schritte zum Erstellen einer JDBC-Anwendung - Erweitertes Java-Lernprogramm - Edureka

  1. Importieren Sie die Pakete: Sie müssen alle Pakete einschließen, die die für benötigten JDBC-Klassen enthalten Datenbankprogrammierung . Meistens mit importiere java.sql. * wird genügen.

  2. Registrieren Sie den JDBC-Treiber: Hier müssen Sie einen Treiber initialisieren, damit Sie einen Kommunikationskanal mit der Datenbank öffnen können.

  3. Öffnen Sie eine Verbindung: Hier können Sie die verwenden getConnection () Methode zum Erstellen eines Verbindungsobjekts, das eine physische Verbindung mit der Datenbank darstellt.

  4. Führen Sie eine Abfrage aus: Dies erfordert tatsächlich die Verwendung eines Objekts vom Typ 'Anweisung' zum Erstellen und Senden einer SQL-Anweisung an die Datenbank.

    Warum brauchen wir Serialisierung in Java?
  5. Extrahieren Sie Daten aus der Ergebnismenge: Es wird empfohlen, das entsprechende zu verwenden getXXX () Methode zum Abrufen der Daten aus der Ergebnismenge.

  6. Räumen Sie die Umwelt auf: Hier ist es wichtig zuSchließen Sie explizit alle Datenbankressourcen, anstatt sich auf die Garbage Collection der JVM zu verlassen.

Nachdem Sie verschiedene Schritte zum Erstellen einer JDBC-Anwendung gesehen haben, sehen wir uns einen Beispielcode zum Erstellen einer Datenbank und zum Herstellen einer Verbindung an.

Paket Edureka import java.sql. * import java.sql.DriverManager öffentliche Klasse Beispiel {// JDBC-Treibername und Datenbank-URL statisch final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' statisch final String DB_URL = 'jdbc: mysql: // localhost / emp '// Datenbankanmeldeinformationen static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Verbindung conn = null Anweisung stmt = null try {// SCHRITT 2 : JDBC-Treiber registrieren Class.forName ('com.mysql.cj.jdbc.Driver') // SCHRITT 3: Öffnen Sie eine Verbindung System.out.println ('Verbindung zur Datenbank herstellen ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // SCHRITT 4: Führen Sie eine Abfrage aus System.out.println ('Anweisung erstellen ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age FROM ResultSet von Mitarbeitern rs = stmt.executeQuery (sql) // SCHRITT 5: Extrahieren Sie Daten aus der Ergebnismenge, während (rs.next ()) {// Abrufen nach Spaltenname int id = rs.getInt ('id') int age = rs.getInt ('age') String first = rs.getString ('first') String last = rs.getString ('last') // Werte anzeigen System.out.print ('ID:' + id) System.out.print (', Alter:' + Alter) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // SCHRITT 6: Bereinigungsumgebung rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Fehler für JDBC behandeln se.printStackTrace ()} catch (Ausnahme e) {// Fehler für Class.forName behandeln e.printStackTrace ()} finally {// finally-Block zum Schließen von Ressourcen try {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // nichts kann getan werden try {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end finally try} // end try System.out.println ('Auf Wiedersehen!')} // end main} // end Beispiel

Der obige Code erstellt eine Tabelle in Ihrer localhost-Datenbank. Um die Werte in die erstellte Datenbank einzufügen, können Sie auf den folgenden Code verweisen. Ich werde den Code nur für Schritt 4 schreiben. Der Rest des Codes bleibt der gleiche wie oben.

// SCHRITT 4: Führen Sie eine Abfrage aus System.out.println ('Tabelle in der angegebenen Datenbank erstellen ...') stmt = conn.createStatement () String sql = 'TABELLENMITARBEITER ERSTELLEN' + '(id INTEGER not NULL,' + 'first VARCHAR (255),' + 'last VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Erstellt Tabelle in der angegebenen Datenbank ... ') System.out.println (' Einfügen von Datensätzen in die Tabelle ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Datensätze in die Tabelle einfügen. .. ')

Auf diese Weise können Sie eine Verbindung zur Datenbank herstellen und Werte in die Tabellen einfügen. Lassen Sie uns nun weiter gehen und verschiedene JDBC-Treibertypen verstehen

JDBC-Treibertypen

JDBC-Treiber werden verwendet, um die definierten Schnittstellen in der JDBC-API für die Interaktion mit dem Datenbankserver zu implementieren.Im Wesentlichen a JDBC-Treiber macht drei Dinge und sie sind wie folgt:
1. Stellt eine Verbindung mit einer Datenquelle her.
2. Es werden Abfragen und Aktualisierungsanweisungen an die Datenquelle gesendet.
3. Schließlich werden die Ergebnisse verarbeitet.

Mit JDBC-Treibern können Sie beispielsweise eine Datenbankverbindung öffnen, um durch Senden mit ihr zu interagieren . Wenn Sie mehr über JDBC-Treiberarten erfahren möchten, lesen Sie diesen Artikel unter .

Gehen wir nun weiter und verstehen JDBC-Verbindungen.

JDBC-Verbindungen

  • JDBC-Pakete importieren: Hinzufügen importieren Aussagen zu Ihrem um erforderliche Klassen in Ihren Java-Code zu importieren.

  • JDBC-Treiber registrieren: In t sein Schritt, um die gewünschte Treiberimplementierung in den Speicher zu laden, damit sie die JDBC-Anforderungen erfüllen kann. Es gibt zwei Ansätze, um einen Fahrer zu registrieren.

    • Der am besten geeignete Ansatz zum Registrieren eines Treibers ist die Verwendung von Java forName () Methode zum dynamischen Laden der Klassendatei des Treibers in den Speicher , die es automatisch registriert. Diese Methode ist geeignet, da Sie die Treiberregistrierung konfigurierbar und portabel machen können. Schauen Sie sich den folgenden Code an:

      try {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Fehler: Treiberklasse kann nicht geladen werden!') System.exit (1)}
    • Der zweite Ansatz, mit dem Sie einen Treiber registrieren können, ist die Verwendung der Statik registerDriver () Methode.

      try {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Fehler: Treiberklasse kann nicht geladen werden!') System.exit (1 )}
  • Sie sollten die verwenden registerDriver () Methode, wenn Sie eine nicht JDK-kompatible JVM verwenden, wie die von Microsoft bereitgestellte. Hier benötigt jedes Formular eine Datenbank URL .

  • Datenbank-URL-Formulierung: Die URL-Formulierung ist erforderlich, um eine ordnungsgemäß formatierte Adresse zu erstellen, die auf die Datenbank verweist, zu der Sie eine Verbindung herstellen möchten. Sobald Sie den Treiber geladen haben, können Sie mit dem eine Verbindung herstellen DriverManager.getConnection () Methode. DriverManager.getConnection () -Methoden sind & minus

    • getConnection (String url)

    • getConnection (String url, Eigenschaften prop)

    • getConnection (String-URL, String-Benutzer, String-Passwort)

  • Erstellen Sie ein Verbindungsobjekt

Sie können eine Verbindung mithilfe der Datenbank-URL, des Benutzernamens und des Kennworts sowie mithilfe des Eigenschaftenobjekts erstellen.

  • Schließen

Um die Datenbanksitzung zu beenden, müssen Sie alle Datenbankverbindungen schließen. Wenn Sie jedoch vergessen, schließt der Garbage Collector von Java die Verbindung, wenn veraltete Objekte bereinigt werden.

conn.close () // Wird zum Schließen der Verbindung verwendet

Das war alles über Java Database Connectivity. Wenn Sie mehr über JDBC erfahren möchten, lesen Sie diesen Artikel unter . Dies bringt uns zum Ende des Artikels über das Herstellen einer Verbindung zu einer Datenbank. Ich hoffe, ich habe etwas Licht auf Ihr Wissen über JDBC geworfen.

Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen. Neben diesen Fragen zu Java-Interviews erstellen wir einen Lehrplan, der für Studenten und Fachleute konzipiert ist, die Java-Entwickler werden möchten.

Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Artikels zum Herstellen einer Verbindung zu einer Datenbank. Wir werden uns so schnell wie möglich bei Ihnen melden.