Herstellen einer Verbindung zu einer MySQL-Datenbank mit Java

Herstellen einer Verbindung zu einer MySQL-Datenbank mit Java / Programmierung

Java stellt JDBC (Java DataBase Connectivity) als Teil des Java SDK (Software Development Kit) bereit. Mit dieser API ist es sehr einfach, eine Verbindung zu einer relationalen Datenbank herzustellen. Was ist eine Datenbank überhaupt? [MakeUseOf erklärt] Also, was ist eine Datenbank überhaupt? [MakeUseOf Explains] Für einen Programmierer oder einen Technologie-Enthusiasten ist das Konzept einer Datenbank wirklich selbstverständlich. Für viele Leute ist das Konzept einer Datenbank selbst jedoch etwas fremd… Lesen Sie mehr und führen Sie gängige Vorgänge wie Abfragen, Einfügen, Aktualisieren und Löschen von Datensätzen durch.

Während die JDBC-Kern-API in Java enthalten ist, erfordert das Herstellen einer Verbindung mit einer bestimmten Datenbank wie MySQL oder SQL Server eine zusätzliche Komponente, die als Datenbanktreiber bezeichnet wird. Dieser Datenbanktreiber ist eine Softwarekomponente, die die zentralen JDBC-Aufrufe in ein Format übersetzt, das von dieser Datenbank verstanden wird.

In diesem Artikel wollen wir uns die Details zum Herstellen einer Verbindung mit einer MySQL-Datenbank ansehen und wie man einige Abfragen damit ausführt.

Der MySQL-Datenbanktreiber

Wie oben erläutert, benötigen Sie den JDBC-Treiber für MySQL, um eine Verbindung zu einer MySQL-Datenbank herstellen zu können. Dies wird als Connector / J-Treiber bezeichnet und kann hier von der MySQL-Site heruntergeladen werden.

Wenn Sie die ZIP-Datei (oder TAR.GZ) heruntergeladen haben, extrahieren Sie das Archiv und kopieren Sie die JAR-Datei mysql-connector-java-bin.jar an einen geeigneten Ort. Diese Datei ist erforderlich, um Code auszuführen, der den MySQL JDBC-Treiber verwendet.

Beispieldatenbank erstellen

Angenommen, Sie haben die MySQL-Datenbank heruntergeladen und ordnungsgemäß eingerichtet. So installieren Sie eine MySQL-Datenbank unter Windows So installieren Sie eine MySQL-Datenbank unter Windows Wenn Sie häufig Anwendungen schreiben, die eine Verbindung zu Datenbankservern herstellen, ist es hilfreich, wenn Sie wissen, wie eine MySQL-Datenbank installiert wird auf Ihrem Windows-Rechner zu Testzwecken. Lesen Sie mehr, wo Sie Zugriff haben. Lassen Sie uns eine Beispieldatenbank erstellen, damit wir sie zum Verbinden und Durchführen von Abfragen verwenden können.

Stellen Sie mit einem Client Ihrer Wahl eine Verbindung zur Datenbank her und führen Sie die folgenden Anweisungen aus, um eine Beispieldatenbank zu erstellen.

Datenbankbeispiel erstellen; 

Wir benötigen auch einen Benutzernamen und ein Passwort, um eine Verbindung zur Datenbank herstellen zu können (es sei denn, Sie möchten sich als Administrator anmelden, was im Allgemeinen eine schlechte Idee ist)..

Im Folgenden wird ein Benutzer mit dem Namen erstellt Testbenutzer wer sich von der gleichen Maschine, auf der MySQL läuft, mit der MySQL-Datenbank verbindet (angegeben durch localhost), mit dem Passwort securepwd.

Benutzer 'testuser' @ 'localhost' erstellen, der durch 'securepwd' identifiziert wird; 

Wenn Sie eine Verbindung zu einer Datenbank herstellen, die auf einem anderen Computer ausgeführt wird (benannt remotemc), müssen Sie folgendes verwenden (remotemc kann ein Hostname oder eine IP-Adresse sein):

Benutzer 'testuser' @ 'remotemc' erstellen, der durch 'securepwd' identifiziert wird; 

Nachdem der Benutzername und das Kennwort erstellt wurden, müssen wir Zugriff auf die zuvor erstellte Beispieldatenbank gewähren.

gewähren Sie alles auf Probe. * an 'testuser' @ 'localhost'; 

Oder, wenn die Datenbank entfernt ist:

gewähren Sie alles auf Probe. * an 'testuser' @ 'remotemc'; 

Sie sollten nun überprüfen, ob Sie eine Verbindung zur Datenbank herstellen können. So installieren Sie eine MySQL-Datenbank unter Windows. So installieren Sie eine MySQL-Datenbank unter Windows. Wenn Sie häufig Anwendungen schreiben, die eine Verbindung zu Datenbankservern herstellen, ist es hilfreich, wenn Sie wissen, wie eine MySQL-Datenbank installiert wird Ihr Windows-Rechner zu Testzwecken. Lesen Sie mehr als den Benutzer, den Sie gerade mit demselben Kennwort erstellt haben. Sie können nach dem Herstellen der Verbindung auch die folgenden Befehle ausführen, um sicherzustellen, dass alle Berechtigungen korrekt sind.

Tabelle joe erstellen (id int Primärschlüssel auto_increment, name varchar (25)); drop table joe; 

Richten Sie den Java-Klassenpfad ein

Lassen Sie uns nun die Details zum Herstellen einer Verbindung zu MySQL von Java 10 Core Java-Konzepten erfahren, die Sie beim Einstieg kennen lernen sollten. 10 Core Java-Konzepte, die Sie beim Einstieg lernen sollten, ob Sie eine grafische Benutzeroberfläche schreiben, serverseitige Software entwickeln oder ein Mobile Anwendung mit Android, Lernen von Java wird Ihnen gute Dienste leisten. Hier sind einige grundlegende Java-Konzepte, die Ihnen den Einstieg erleichtern. Weiterlesen . Der erste Schritt ist das Laden des Datenbanktreibers. Dies geschieht durch Aufrufen des Folgenden an einem geeigneten Ort.

Class.forName ("com.mysql.jdbc.Driver"); 

Der Code kann eine Ausnahme auslösen, sodass Sie diese abfangen können, wenn Sie damit umgehen möchten (z. B. Formatieren der Fehlermeldung für eine GUI)..

try Class.forName ("com.mysql.jdbc.Driver");  catch (ClassNotFoundException ex) // hier die Ausnahme verwenden 

Es ist üblich, diesen Code in einem statischen Block in der Klasse aufzurufen, sodass das Programm sofort ausfällt, wenn der Treiber nicht geladen werden kann.

öffentliche Klasse Sample static try Class.forName ("com.mysql.jdbc.Driver");  catch (ClassNotFoundException ex) System.err.println ("MySQL-Treiber kann nicht geladen werden");  

Um den Treiber finden zu können, muss das Programm natürlich mit der Treiber-JAR (oben heruntergeladen und extrahiert) wie folgt im Klassenpfad enthalten sein.

java -cp mysql-connector-java--bin.jar:…  

Verbindung zu MySQL von Java aus

Nachdem wir nun die Details zum Laden des MySQL-Treibers aus Java herausgearbeitet haben, können wir uns jetzt mit der Datenbank verbinden. Eine Möglichkeit, eine Datenbankverbindung zu erstellen, ist die Verwendung der DriverManager.

String jdbcUrl =…; Verbindung con = DriverManager.getConnection (jdbcUrl); 

Und was ist das? jdbcUrl? Es zeigt die Details der Verbindung an, einschließlich des Servers, auf dem sich die Datenbank befindet, dem Benutzernamen usw. Hier ist eine Beispiel-URL für unser Beispiel.

String jdbcUrl = "jdbc: mysql: // localhost / sample? User = testuser & password = secrepwd"; 

Beachten Sie, dass wir alle für die Verbindung erforderlichen Parameter einschließlich des Hostnamens (localhost), Benutzername und Passwort. (Ein solches Passwort ist NICHT empfehlenswert, siehe unten für Alternativen.)

Verwenden Sie dies jdbcUrl, Hier ist ein komplettes Programm zur Überprüfung der Konnektivität.

öffentliche Klasse Sample static try Class.forName ("com.mysql.jdbc.Driver");  catch (ClassNotFoundException ex) System.err.println ("MySQL-Treiber kann nicht geladen werden");  static public void main (String [] args) löst Exception String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = securepwd"; Verbindung con = DriverManager.getConnection (jdbcUrl); System.out.println ("Verbunden!"); con.close ();  

Beachten Sie, dass eine Datenbankverbindung eine wertvolle Ressource in einem Programm ist und wie oben beschrieben ordnungsgemäß geschlossen werden muss. Der obige Code schließt jedoch die Verbindung im Ausnahmefall nicht. Verwenden Sie das folgende Muster, um die Verbindung bei einem normalen oder abnormalen Abbruch zu schließen:

try (Verbindung con = DriverManager.getConnection (jdbcUrl)) System.out.println ("Connected!");  

Wie oben erwähnt, ist es keine gute Idee, das Kennwort in die JDBC-URL einzubetten. Um den Benutzernamen und das Passwort direkt anzugeben, können Sie stattdessen die folgende Verbindungsoption verwenden.

String jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Verbindung con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd"))  

Abfragen der Datenbank von Java

Nun, da die Verbindung zur Datenbank hergestellt ist, können Sie sehen, wie eine Abfrage ausgeführt wird, beispielsweise die Datenbankversion abfragen:

Version auswählen(); 

Eine Abfrage wird in Java wie folgt ausgeführt. EIN Aussage Das Objekt wird erstellt und eine Abfrage wird mit der ausgeführt executeQuery () Methode, die a zurückgibt Ergebnissatz.

String queryString = "select version ()"; Anweisung stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Drucken Sie die Version aus Ergebnissatz wie folgt. 1 bezieht sich auf den Index der Spalte in den Ergebnissen, beginnend mit 1.

while (rset.next ()) System.out.println ("Version:" + rset.getString (1));  

Nach der Verarbeitung der Ergebnisse müssen die Objekte geschlossen werden.

rset.close (); stmt.close (); 

Und das umfasst alles, was Sie brauchen, um von Java aus eine Verbindung zu MySQL herzustellen und eine einfache Abfrage auszuführen.

Haben Sie JDBC mit MySQL in Ihren Projekten verwendet? Welche Probleme, wenn überhaupt, hatten Sie mit Datenbanken und Java? Bitte teilen Sie uns in den Kommentaren unten mit.

Erfahren Sie mehr über: Java, SQL.