Wie verbindet man eine Datenbank mit einem Programm?

Um ein Java-Programm mit einer Datenbank zu verbinden muss in einem ersten Schritt ein passender Connector zum Projekt hinzugefügt werden. Das heißt, für die Verbindung mit einer konkreten Datenbank (mysql, Oracle, …) müssen bestimmte herstellerspezifische Dateien in das Projekt eingebunden werden.

Die Datei zum Verbinden mit einer mysql-Datenbank (mysql-Connector) findet man hier: Download mysql-Connector.
Die Datei mysql-connector-java-8.0.24.jar aus dem zip-Archiv wird in das Projekt kopiert und in den Build-Path aufgenommen.

Im Folgenden wird die Verbindung mit einer mysql-Datenbank beschrieben.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DB_Test {

    public static void main(String args[]) {
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "";

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, username, password);
            PreparedStatement stmt = con.prepareStatement("select * from person");
            ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
                System.out.printf("| %10d | %20s |\n", rs.getInt("id"), rs.getString("name"));
            }
            con.close();
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

In Zeile 10 wird die Adresse und der Name der Datenbank (test) angegeben.
In Zeile 15 wird mit Hilfe von Reflection der Datenbanktreiber geladen.
In Zeile 16 wird die Verbindung zur Datenbank aufgebaut.
In Zeile 17 und 18 wird auf die Verbindung zugegriffen, um eine Abfrage durchzuführen. Im Anschluss daran wird zur Ausgabe der Ergebnisse über das von der Datenbank erhaltene ResultSet iteriert.
In Zeile 23 wird die in Zeile 16 geöffnete Datenbankverbindung geschlossen.