So stellen Sie mit Java eine Verbindung zu einer MySQL-Datenbank her

So stellen Sie mit Java eine Verbindung zu einer MySQL-Datenbank her

Java bietet JDBC (Java-Datenbank-Konnektivität) als Teil des Java SDK (Software Development Kit). Verwenden Sie dies FEUER , ist es sehr einfach, eine Verbindung zu einer relationalen Datenbank herzustellen und allgemeine Vorgänge wie das Abfragen, Einfügen, Aktualisieren und Löschen von Datensätzen durchzuführen.





Während die JDBC-Kern-API in Java enthalten ist, erfordert die 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 Kern-JDBC-Aufrufe in ein Format übersetzt, das von dieser Datenbank verstanden wird.





So fügen Sie in Photoshop einen Umriss zum Text hinzu

In diesem Artikel sehen wir uns die Details zum Herstellen einer Verbindung mit einer MySQL-Datenbank an und wie Sie einige Abfragen damit durchführen.





Der MySQL-Datenbanktreiber

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

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



Erstellen einer Beispieldatenbank

Angenommen, Sie haben die MySQL-Datenbank heruntergeladen und richtig einrichten 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.





create database sample;

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).

Folgendes erstellt einen Benutzer namens Testbenutzer wer eine Verbindung zur MySQL-Datenbank von derselben Maschine herstellt, auf der sie ausgeführt wird (gekennzeichnet durch localhost ), mit dem Passwort securepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

Wenn Sie eine Verbindung zu einer Datenbank herstellen, die auf einem anderen Computer (mit dem Namen remotemc ), müssen Sie Folgendes verwenden ( remotemc kann ein Hostname oder eine IP-Adresse sein):

create user 'testuser'@'remotemc' identified by 'securepwd';

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

grant all on sample.* to 'testuser'@'localhost';

Oder, wenn die Datenbank remote ist:

grant all on sample.* to 'testuser'@'remotemc';

Sie sollten jetzt überprüfen, ob Sie dies können mit der Datenbank verbinden als der Benutzer, den Sie gerade mit demselben Kennwort erstellt haben. Sie können auch die folgenden Befehle ausführen, nachdem Sie eine Verbindung hergestellt haben, um sicherzustellen, dass alle Berechtigungen korrekt sind.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Java-Klassenpfad einrichten

Lassen Sie uns nun auf die Details eingehen, wie Sie von Java aus eine Verbindung zu MySQL herstellen. Der erste Schritt besteht darin, den Datenbanktreiber zu laden. Dies geschieht durch Aufrufen des Folgenden an einer geeigneten Stelle.

warum ist mein echopunkt rot
Class.forName('com.mysql.jdbc.Driver');

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

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Es ist sehr üblich, diesen Code in einem statischen Block in der Klasse aufzurufen, damit das Programm sofort fehlschlägt, wenn der Treiber nicht geladen werden kann.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

Um den Treiber finden zu können, 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:...

Verbindung zu MySQL von Java aus

Nachdem wir nun die Details zum Laden des MySQL-Treibers aus Java geklärt haben, können wir uns mit der Datenbank verbinden. Eine Möglichkeit, eine Datenbankverbindung herzustellen, besteht darin, die FahrerManager .

String jdbcUrl = ...;
Connection 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 enthalten haben, einschließlich des Hostnamens ( localhost ), Benutzername und Passwort. (Das Einfügen des Passworts wie dieses ist KEINE gute Vorgehensweise, siehe unten für Alternativen.)

Verwenden Sie dies jdbcUrl , hier ist ein komplettes Programm zum Überprüfen der Konnektivität.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
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 die Verbindung jedoch im Ausnahmefall nicht. Um die Verbindung bei einem normalen oder anormalen Exit zu beenden, verwenden Sie das folgende Muster:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

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

kann keine Android-Dateien auf dem PC sehen
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Abfragen der Datenbank von Java

Nun, da die Verbindung zur Datenbank hergestellt ist, sehen wir uns an, wie Sie eine Abfrage durchführen, z. B. die Datenbankversion abfragen:

select version();

Eine Abfrage wird in Java wie folgt ausgeführt. EIN Stellungnahme Objekt wird erstellt und eine Abfrage mit dem executeQuery() Methode, die a zurückgibt Ergebnismenge .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Drucken Sie die Version aus dem Ergebnismenge 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 damit ist alles abgedeckt, was Sie brauchen, um sich von Java aus mit MySQL zu verbinden und eine einfache Abfrage durchzuführen.

Schauen Sie auch in unsere Spickzettel für SQL-Befehle .

Teilen Teilen Tweet Email Ist es in Ordnung, Windows 11 auf einem inkompatiblen PC zu installieren?

Sie können Windows 11 jetzt auf älteren PCs mit der offiziellen ISO-Datei installieren ... aber ist es eine gute Idee, dies zu tun?

Weiter lesen
Verwandte Themen
  • Programmierung
  • Java
  • SQL
Über den Autor Jay Sridhar(17 Artikel veröffentlicht) Mehr von Jay Sridhar

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren