Datenbankzugriffe realisieren
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.
