Datenbankzugriffe realisieren

Aus FI-Wiki

Datenbankzugriffe realisieren

Um auf eine Datenbank zuzugreifen, verbindet sich ein Programm über einen Datenbanktreiber (JDBC) mit dem Datenbankserver, führt SQL-Befehle aus und verarbeitet die zurückgegebenen Ergebnisse. Java nutzt dafür die JDBC-API, die unabhängig vom verwendeten Datenbanksystem funktioniert.

Voraussetzung: JDBC-Treiber

Für jede Datenbank (z. B. MySQL, MariaDB, PostgreSQL, SQLite) wird ein passender JDBC-Treiber benötigt, der dem Projekt hinzugefügt wird.

Beispiel (MySQL/MariaDB):

  • Datei: **mysql-connector-j.jar**

Verbindung herstellen

Eine Verbindung wird über die Klasse DriverManager aufgebaut.

String url = "jdbc:mysql://localhost:3306/meineDB";
String user = "root";
String pass = "1234";

Connection conn = DriverManager.getConnection(url, user, pass);

SQL-Abfragen durchführen (SELECT)

Mit einem Statement können Daten aus der Datenbank gelesen werden.

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM kunden");

while (rs.next()) {
    System.out.println(rs.getString("name"));
}

Daten ändern (INSERT, UPDATE, DELETE)

String sql = "INSERT INTO kunden (name, ort) VALUES ('Anna', 'Berlin')";
stmt.executeUpdate(sql);

Prepared Statements (empfohlen)

Sicher gegen SQL-Injection und schneller bei häufigen Ausführungen.

String sql = "INSERT INTO kunden (name, ort) VALUES (?, ?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "Max");
ps.setString(2, "Hamburg");
ps.executeUpdate();

Verbindung schließen

Wichtig: Nach jedem Datenbankzugriff Ressourcen freigeben.

rs.close();
stmt.close();
conn.close();

Häufige Klassen und ihre Aufgaben

Klasse Bedeutung
Connection Verbindung zur Datenbank
Statement einfache SQL-Abfragen
PreparedStatement vorbereitete, sichere SQL-Befehle
ResultSet Ergebnis einer SELECT-Abfrage

Kurzmerksatz

Datenbankzugriffe erfolgen durch Verbindung aufbauen, SQL ausführen und Ergebnisse verarbeiten – in Java über JDBC mit Statements und ResultSets.