Werbung
Java bietet JDBC (Java DataBase Connectivity) als Teil des Java SDK (Software Development Kit). Verwenden Sie dies APIist es sehr einfach, eine Verbindung zu einem herzustellen relationale Datenbank Was ist eigentlich eine Datenbank? [MakeUseOf erklärt]Für einen Programmierer oder Technikbegeisterten ist das Konzept einer Datenbank eine Selbstverständlichkeit. Für viele Menschen ist das Konzept einer Datenbank selbst jedoch etwas fremd ... Weiterlesen und allgemeine Vorgänge wie das Abfragen, Einfügen, Aktualisieren und Löschen von Datensätzen ausführen.
Während die JDBC-Kern-API in Java enthalten ist, erfordert die Verbindung zu einer bestimmten Datenbank wie MySQL oder SQL Server eine zusätzliche Komponente, die als Datenbanktreiber bezeichnet wird. Dieser Datenbanktreiber ist eine Softwarekomponente, die die JDBC-Kernaufrufe in ein Format übersetzt, das von dieser Datenbank verstanden wird.
Lassen Sie uns in diesem Artikel die Details zum Herstellen einer Verbindung zu einer MySQL-Datenbank und zum Ausführen einiger Abfragen damit betrachten.
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 von heruntergeladen werden die MySQL-Site hier.
Nachdem Sie die ZIP- (oder TAR.GZ-) Datei heruntergeladen haben, extrahieren Sie das Archiv und kopieren Sie die JAR-Datei mysql-connector-java - bin.jar an einen geeigneten Ort. Diese Datei wird benötigt, um Code auszuführen, der den MySQL JDBC-Treiber verwendet.
Erstellen einer Beispieldatenbank
Angenommen, Sie haben die MySQL-Datenbank heruntergeladen und Richten Sie es richtig ein So installieren Sie eine MySQL-Datenbank unter WindowsWenn Sie häufig Anwendungen schreiben, die eine Verbindung zu Datenbankservern herstellen, ist es hilfreich, wenn Sie wissen, wie Sie zu Testzwecken eine MySQL-Datenbank auf Ihrem Windows-Computer installieren. Weiterlesen Wenn Sie Zugriff darauf haben, lassen Sie uns eine Beispieldatenbank erstellen, damit wir sie zum Verbinden und Ausfü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 außerdem einen Benutzernamen und ein Kennwort, um eine Verbindung zur Datenbank herstellen zu können (es sei denn, Sie möchten eine Verbindung als Administrator herstellen, was im Allgemeinen eine schlechte Idee ist).
Im Folgenden wird ein Benutzer mit dem Namen erstellt Testbenutzer Wer stellt von demselben Computer, auf dem er ausgeführt wird, eine Verbindung zur MySQL-Datenbank her? localhost) mit dem Passwort Securepwd.
Erstellen Sie den Benutzer 'testuser' @ 'localhost', der durch 'securepwd' gekennzeichnet ist.
Wenn Sie eine Verbindung zu einer Datenbank herstellen, die auf einem anderen Computer ausgeführt wird (benannt) Fernbedienung) müssen Sie Folgendes verwenden (Fernbedienung kann ein Hostname oder eine IP-Adresse sein):
Erstellen Sie den Benutzer 'testuser' @ 'remotemc', der durch 'securepwd' gekennzeichnet ist.
Nachdem der Benutzername und das Kennwort erstellt wurden, müssen wir den Zugriff auf die zuvor erstellte Beispieldatenbank gewähren.
Gewähren Sie 'testuser' @ 'localhost' alle auf Probe. *;
Oder wenn die Datenbank remote ist:
Gewähren Sie 'testuser' @ 'remotemc' alle auf Probe. *;
Sie sollten jetzt überprüfen, ob Sie können Stellen Sie eine Verbindung zur Datenbank her So installieren Sie eine MySQL-Datenbank unter WindowsWenn Sie häufig Anwendungen schreiben, die eine Verbindung zu Datenbankservern herstellen, ist es hilfreich, wenn Sie wissen, wie Sie zu Testzwecken eine MySQL-Datenbank auf Ihrem Windows-Computer installieren. Weiterlesen als Benutzer, den Sie gerade mit demselben Passwort erstellt haben. Sie können die folgenden Befehle auch nach dem Herstellen der Verbindung 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
Kommen wir nun zu den Details, wie Sie eine Verbindung zu MySQL herstellen können Java 10 Java-Kernkonzepte, die Sie beim Einstieg lernen solltenEgal, ob Sie eine grafische Benutzeroberfläche schreiben, serverseitige Software entwickeln oder eine mobile Anwendung mit Android verwenden, das Erlernen von Java ist für Sie von Vorteil. Im Folgenden finden Sie einige grundlegende Java-Konzepte, die Ihnen den Einstieg erleichtern. Weiterlesen . Der erste Schritt ist das Laden des Datenbanktreibers. Dies erfolgt durch Aufrufen des Folgenden an einer geeigneten Stelle.
Class.forName ("com.mysql.jdbc. Treiber");
Der Code kann eine Ausnahme auslösen, sodass Sie sie abfangen können, wenn Sie damit umgehen möchten (z. B. das Formatieren der Fehlermeldung für eine GUI).
versuchen Sie {Class.forName ("com.mysql.jdbc. Treiber"); } catch (ClassNotFoundException ex) {// benutze hier die Ausnahme. }
Es ist sehr üblich, diesen Code in einem statischen Block in der Klasse aufzurufen, sodass das Programm sofort fehlschlägt, wenn der Treiber nicht geladen werden kann.
öffentliche Klasse Probe. {static {try {Class.forName ("com.mysql.jdbc. Treiber"); } catch (ClassNotFoundException ex) {System.err.println ("MySQL-Treiber kann nicht geladen werden"); } } }
Um den Treiber zu finden, muss das Programm natürlich mit der Treiber-JAR (oben heruntergeladen und extrahiert) aufgerufen werden, die wie folgt im Klassenpfad enthalten ist.
java -cp mysql-connector-java--bin.jar:...
Herstellen einer Verbindung zu MySQL über Java
Nachdem wir die Details zum Laden des MySQL-Treibers aus Java entfernt haben, können wir eine Verbindung zur Datenbank herstellen. Eine Möglichkeit zum Erstellen einer Datenbankverbindung ist die Verwendung von 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, des Benutzernamens 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 angegeben haben, einschließlich des Hostnamens (localhost), Benutzername und Passwort. (Das Einfügen eines solchen Passworts ist KEINE bewährte Methode. Alternativen finden Sie weiter unten.)
Verwenden Sie dies jdbcUrlHier finden Sie ein vollständiges Programm zur Überprüfung der Konnektivität.
öffentliche Klasse Probe. {static {try {Class.forName ("com.mysql.jdbc. Treiber"); } catch (ClassNotFoundException ex) {System.err.println ("MySQL-Treiber kann nicht geladen werden"); }} static public void main (String [] args) löst eine Ausnahme aus {String jdbcUrl = "jdbc: mysql: // localhost / sample? Benutzer = Testbenutzer & Passwort = 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 ordnungsgemäß geschlossen werden muss. Der obige Code schließt jedoch im Falle einer Ausnahme die Verbindung nicht. Verwenden Sie das folgende Muster, um die Verbindung bei einem normalen oder abnormalen Ausgang zu schließen:
try (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Connected!"); }
Wie oben erwähnt, ist es eine schlechte 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 (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }
Abfragen der Datenbank von Java
Nachdem die Verbindung zur Datenbank hergestellt wurde, sehen wir uns an, wie eine Abfrage ausgeführt wird, z. B. das Abfragen der Datenbankversion:
Version auswählen();
Eine Abfrage wird in Java wie folgt ausgeführt. EIN Erklärung Objekt wird erstellt und eine Abfrage wird mit dem ausgeführt executeQuery () Methode, die a zurückgibt ResultSet.
String queryString = "select version ()"; Anweisung stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Drucken Sie die Version aus dem ResultSet 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 deckt alles ab, was es braucht, um von Java aus eine Verbindung zu MySQL herzustellen und eine einfache Abfrage durchzuführen.
Haben Sie JDBC mit MySQL in Ihren Projekten verwendet? Welche Probleme hatten Sie gegebenenfalls mit Datenbanken und Java? Bitte lassen Sie es uns in den Kommentaren unten wissen.