Maven

Das wichtigste Detail ist die JDBC-Treiberbibliothek für den MySQL-Server selbst. Es wird einfach nicht auf Ihrem Computer angezeigt, Sie müssen es also dort hinzufügen.

Wenn Sie Maven verwenden, müssen Sie ihm helfen, indem Sie auf die richtige Bibliothek hinweisen.

MySQL JDBC-Treiber :

   	<dependency>
        	<groupId>mysql</groupId>
        	<artifactId>mysql-connector-java</artifactId>
        	<version>8.0.29</version>
    	</dependency>

Fügen Sie diesen Code einfach zu Ihrer pom.xml hinzu .

Ich werde auch ein paar weitere beliebte Treiber nennen.

JDBC-Treiber für PostgeSQL :

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.4.0</version>
</dependency>

JDBC-Treiber für Oracle :

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.5.0.0</version>
</dependency>

JDBC-Treiber für H2 :

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>

Erste Datenbankabfrage

Alle erforderlichen Bibliotheken sind enthalten. Jetzt ist es an der Zeit, Ihr erstes Datenbankzugriffsprogramm auszuführen. Wir werden den gesamten Code in die Methode main() schreiben .

Stufe 1 . Fügen Sie vor der main()- Methode ein paar Importe hinzu – das wird Ihnen das Leben viel einfacher machen:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

Stufe 2 . Zuerst müssen wir eine Datenbankverbindung erstellen. Schreiben Sie dazu in der main() -Methode den folgenden Code:

Connection connection  = DriverManager.getConnection(
           "jdbc:mysql://localhost:3306/test",
           "login", "password");

Sie können dies auch in einer Zeile tun – je nachdem, was für Sie bequemer ist. Login und Passwort müssen natürlich durch die echten von Ihrem lokalen MySQL-Server ersetzt werden.

Stufe 3 . Wir erstellen eine Abfrage an die Datenbank. Lassen Sie uns alle Benutzer aus der Benutzertabelle abrufen. Dann müssen Sie diese Codezeile hinzufügen:

Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");

Das sind zwei Zeilen. Im ersten Schritt erstellen wir ein ObjektStellungnahme, und im zweiten verwenden wir es, um die Datenbank abzufragen. Die MethodeexecuteQuery() führt eine Datenbankabfrage aus und gibt ein Objekt vom Typ zurückErgebnissatz.

Stufe 4 . Zeigen Sie die im Objekt enthaltenen Daten anErgebnissatz.

Ergebnissatz- Es ist kein Set, es heißt nur so. Es speichert das Ergebnis der Abfrageausführung. Dieses Objekt ähnelt in gewisser Weise einem Iterator: Es ermöglicht Ihnen, die aktuelle Zeile des Ergebnisses festzulegen/zu ändern und dann Daten aus dieser aktuellen Zeile abzurufen. Fügen Sie Ihrem Beispiel den folgenden Code hinzu:

while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
}

Die Methode next() ändert die aktuelle Ergebniszeile in die nächste. Es gibt true zurück, wenn eine solche Zeile vorhanden ist, und false, wenn keine weiteren Zeilen vorhanden sind.

Dann ab der aktuellen Zeile des ObjektsErgebnissatzSie können Daten aus seinen Spalten abrufen:

  • getRow() – gibt die Nummer der aktuellen Zeile im Objekt zurückErgebnissatz
  • getInt(N) – gibt die Daten der N-ten Spalte der aktuellen Zeile als int zurück
  • getString(N) – gibt die Daten der N-ten Spalte der aktuellen Zeile als String zurück

Vollständige Programmliste

Um Fehler zu minimieren, finden Sie hier eine vollständige Auflistung des Programms:

package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcApplicatin {
    public static void main(String[] args) throws  Exception{
 	   Connection connection  = DriverManager.getConnection(
          	"jdbc:mysql://localhost:3306/test",
          	"root", "secret");

        Statement statement = connection.createStatement();
    	ResultSet results = statement.executeQuery("SELECT * FROM user");

    	while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
    	}
    	connection.close();
    }
}

Und meine Bildschirmausgabe nach dem Ausführen des Programms:

„C:\Programme\Java\jdk-17.0.3.1\bin\java.exe...“
elf Iwanow Iwan
2.2 Petrov Nikolay
3.3 Sidorov Vitaly
Prozess mit Exit-Code 0 beendet