Java - Verbinden mit MySQL mit dem JDBC-Treiber

In diesem Kapitel werden Sie Datenbanken in Java untersuchen, indem Sie eine einfache Datenbank mit einer einzigen Tabelle erstellen, und lernen, wie Sie die Verbindung mit dem java herstellen.

Java verwendet eine API namens JDBC(Java Database Connectivity), um eine Verbindung zur Datenbank von  herzustellen. Daten.  JDBC ermöglicht es Ihnen, sich mit einer großen Anzahl von Datenbankmanagern wie Oracle, MySQL, PostGre usw. zu verbinden.

Was ist JDBC?

JDBC (Java-Datenbank-Konnektivität)  ist eine Verbindungsschnittstelle zwischen dem Java-Programm und der SQL-Datenbank der Firma Oracle, die von der Firma Sun Microsystems erstellt wurde und seit JDK-Version 1.1 verfügbar ist. Diese Technologie ist ein Treiber, der definiert, wie der Client Zugriff auf die MySQL-Datenbank hat. Der JDBC-Treiber stellt Methoden zum Abfragen und Aktualisieren der Daten in der Datenbank bereit. JDBC ist ein Werkzeug für relationale Datenbanken.

JDBC-Klassen sind im Paket enthalten  java.sql  und  javax.sql. JDBC ermöglicht mehrere Implementierungen in derselben Anwendung. Die API basiert auf einem Mechanismus, der hilft, die entsprechenden Pakete dynamisch zu laden und mit dem Treiber-Manager zu speichern. Die JDBC-API wird verwendet, um JDBC zu erstellen.

Die JDBC-API wird verwendet, um die folgenden Aufgaben auszuführen:
  • Herstellen einer Verbindung zur relationalen Datenbank wie MySQL, Oracle usw.
  • Senden von SQL-Abfragen zur Ausführung auf dem Datenbankserver.
  • Process Die Ergebnisse, die durch Ausführen der SQL.

JDBC

  1. JDBC-ODBC Bridge  zurückgegeben werden. (Typ 1): Dieser Treiber verwendet den ODBC-Treiber, um eine Verbindung mit der Serverdatenbank herzustellen. Sie müssen den ODBC-Treiber auf dem Computer installiert haben, den Sie mit der Datenbank verbinden möchten, deshalb ist dieser Treiber veraltet und sollte nur verwendet werden, wenn Sie keine andere Wahl haben.
  2. Die native API  (Typ 2): Dieser Typ konvertiert JDBC-Aufträge, um die Datenbank über einen nativen Treiber auf dem Client aufzurufen. Sie müssen die API der Kundendatenbank auf dem Computer installiert haben, um die Verbindung herzustellen.
  3. Ein in Java geschriebener Treiber mit einer Middleware  (Typ 3): Dieser Typ verwendet ein Netzwerkprotokoll, um Nachrichten an den zwischengeschalteten Server zu senden, der mit verschiedenen Arten von Datenbanken kommunizieren kann. Dieser Treiber kann problemlos mit einem Applet verwendet werden, aber Sie benötigen den Server. Mittelstufe  installiert, um mit diesem Treiber zu arbeiten. Dieser Treiber ist nicht weit verbreitet, weil  seine schlechte Leistung.
  4. Ein Java-Treiber, der das native Protokoll verwendet  (Typ 4): Dies ist der bevorzugte Treiber, da er die Datenbank direkt aufruft, indem JDBC-Nachrichten in ein Netzwerkprotokoll konvertiert werden, das mit dem Server kompatibel ist. Wir müssen bestimmte Treiber verwenden, wie z. B. OJDBC  von Oracle bereitgestellt und MySQL-Konnektor/J  für MySQL-Datenbanken.

JDBC-API-Klassen

Klassen befinden sich in den Paketen  java.sql. Die 4 wichtigen Klassen sind: DriverManager, Connection, Statement und PreparedStatement sowie ResultSet.

DriverManager: verantwortlich für das Laden und Konfigurieren der Datenbank.
Connection: Authentifizieren Sie sich bei der Datenbank.
Anweisung: Senden Sie die SQL-Abfrage an die Datenbank.
ResultSet: Durchsuchen Sie die aus der Datenbank abgerufenen Ergebnisse im Falle einer Datenauswahl.

Database Configuration

Wir werden die detaillierte Konfiguration der Datenbank aus den Dateien lesen, so dass wir leicht von Oracle zu MySQL und umgekehrt wechseln können, indem wir die folgenden Details ändern:

#mysql DB-Eigenschaften
#DB_DRIVER_CLASS=com.mysql.jdbc.Driver
#DB_URL=jdbc:mysql://localhost:3306/UserDB
#DB_USERNAME=usermysql
#DB_PASSWORD=usermysqlpw
#Oracle DB-Eigenschaften
DB_DRIVER_CLASS=oracle.jdbc.driver.OracleDriver
DB_URL=jdbc:oracle:thin:@localhost:1571:MyDBSID
DB_USERNAME=useroracle
DB_PASSWORD=useroraclepw

Die Konfiguration ist das Wichtigste bei der Verwendung der JDBC-API. Als erstes müssen Sie auswählen, welche Treiberklasse verwendet werden soll. Für MySQL ist der Treiber  com.mysql.jdbc.Driver  und für Oracle ist es oracle.jdbc.driver.OracleDriver. Beide implementieren die Schnittstelle  java.sql.Treiber. Sie finden diese beiden Klassen in ihrer jar.

Die zweite wichtige Sache ist die Datenbankverbindungs-URL. Jeder Treiber hat seine eigene URL-Konfiguration, aber sie haben die gleiche. hostHafen  et  Schema  in der Verbindungs-URL. Für die MySQL-Anmeldung ist das Format  jdbc:mysql://< GASTGEBER>:< HAFEN>:< DIAGRAMM> .

Ein weiteres wichtiges Detail ist der Benutzername und das Passwort für die Verbindung mit der Datenbank.

Verbindung zur MySQL-Datenbank

Dieses Programm liest die Eigenschaften und stellt die Verbindung mit MySQL her.

import java.io.FileInputStream; 
import java.io.IOException;
import java.sql.Verbindung;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBConnection {

public static Connection getConnection() {
Properties props = new Properties();
FileInputStream fis = null;
Verbindung con = null;
try {
fis = new FileInputStream("db.properties");
props.load(fis);

// Laden Sie die Treiberklasse
Class.forName(props.getProperty("DB_DRIVER_CLASS"));

// Erstellen Sie die Verbindung jetzt
con = DriverManager.getConnection(props.getProperty("DB_URL"),
props.getProperty("DB_USERNAME"),
props.getProperty("DB_PASSWORD"));
} catch (IOException | ClassNotFoundException | SQLException e) {
// TODO Automatisch generierter catch-Block
e.printStackTrace();
}
return con;
}
}
Zuerst lesen wir die Datenbankkonfiguration aus der Eigenschaftendatei, laden dann den JDBC-Treiber und verwenden DriverManager, um die Verbindung herzustellen. Der Aufruf der Methode Class.forName() ist wichtig, da sie eine Instanz der Klasse erstellt, nicht mit dem neuen Operator, sondern sie nur erstellt und nicht verwendet. Das Objekt wird im Arbeitsspeicher erstellt und von selbst mit DriverManager verbunden.

Um die Verbindung zur MySQL-Datenbank herzustellen, müssen Sie das Objekt der Connection-Klasse instanziieren, indem Sie die URL für den Zugriff angeben. Die getConnection()-Methode stellt die Verbindung her mit:
  • Der Name der Datenbank durch Angabe der url
  • Der Benutzername
  • Das Passwort
Die getConnection()-Methode  löst eine Ausnahme java.sql.SQLException aus, wenn die Verbindung fehlschlägt.