Arbeiten mit Datenbanken in Java: PostgreSQL und MongoDB für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeit mit Datenbanken in Java: PostgreSQL und MongoDB für Anfänger



Moderne Java-Entwicklung kommt selten ohne Interaktion mit Datenbanken aus. Unabhängig davon, ob Sie eine Webanwendung, einen mobilen Dienst oder ein Unternehmenssystem erstellen, ist die Fähigkeit, mit SQL- und NoSQL-Datenbanken zu arbeiten, eine zwingende Fähigkeit. In diesem Artikel schauen wir uns an, wie man von Java aus eine Verbindung zu PostgreSQL (relationale DB) und MongoDB (dokumentenorientierte DB) herstellt, grundlegende Operationen durchführt und typische Fehler vermeidet.



Das Material richtet sich an Anfänger-Entwickler, die bereits mit den Grundlagen von Java vertraut sind (Klassen, Methoden, Ausnahmen) und lernen möchten, mit Daten zu arbeiten. Alle Codebeispiele können kopiert und in Ihrer Entwicklungsumgebung ausgeführt werden.



1. Umgebungsvorbereitung und Abhängigkeiten



Für die Arbeit mit Datenbanken in Java müssen Sie die entsprechenden Bibliotheken hinzufügen. Wir verwenden Maven zur Verwaltung der Abhängigkeiten. Wenn Sie Gradle oder ein anderes Build-Tool verwenden, ist das Prinzip ähnlich.



Abhängigkeiten für PostgreSQL (über JDBC)

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


Abhängigkeiten für MongoDB (offizieller Treiber)

<dependency>    <groupId>org.mongodb</groupId>    <artifactId>mongodb-driver-sync</artifactId>    <version>4.11.1</version></dependency>


Nach dem Hinzufügen der Abhängigkeiten aktualisieren Sie das Projekt (Maven → Reload Project). Stellen Sie sicher, dass die Datenbanken selbst installiert und gestartet sind (lokal oder über Docker).



2. Arbeiten mit PostgreSQL in Java



PostgreSQL ist eine klassische relationale Datenbank. Für die Interaktion mit ihr aus Java wird JDBC (Java Database Connectivity) verwendet. Betrachten wir den vollständigen Zyklus: Verbindung, Tabellenerstellung, Einfügen und Lesen von Daten.



2.1. Verbindung zur Datenbank herstellen

Erstellen wir eine Klasse PostgresConnector mit einer Methode zum Abrufen der Verbindung:

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

public class PostgresConnector { private static final String URL = "jdbc:postgresql://localhost:5432/testdb"; private static final String USER = "postgres"; private static final String PASSWORD = "your_password";

public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USER, PASSWORD); }}


2.2. Tabelle erstellen und Daten einfügen

Wir verwenden Statement und PreparedStatement zur Ausführung von SQL-Abfragen:

import java.sql.*;

public class PostgresExample { public static void main(String[] args) { String createTableSQL = "CREATE TABLE IF NOT EXISTS users (" + "id SERIAL PRIMARY KEY, " + "name VARCHAR(100) NOT NULL, " + "email VARCHAR(100) UNIQUE NOT NULL)";

String insertSQL = "INSERT INTO users (name, email) VALUES (?, ?)";

try (Connection conn = PostgresConnector.getConnection(); Statement stmt = conn.createStatement()) {

// Tabelle erstellen stmt.execute(createTableSQL); System.out.println("Tabelle users wurde erstellt (oder existiert bereits).");

// Daten über PreparedStatement einfügen (sicher vor SQL-Injection) try (PreparedStatement pstmt = conn.prepareStatement(insertSQL)) { pstmt.setString(1, "Ivan Petrov"); pstmt.setString(2, "ivan@example.com"); pstmt.executeUpdate(); System.out.println("Benutzer hinzugefügt."); }

} catch (SQLException e) { e.printStackTrac

Blogs

Buchempfehlungen