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

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

\n\n

In der modernen Java-Entwicklung ist die Fähigkeit, mit Datenbanken (DB) zu arbeiten, eine der Schlüsselkompetenzen. Unabhängig davon, ob Sie eine Webanwendung, einen mobilen Dienst oder ein Unternehmenssystem erstellen, müssen Sie Daten speichern, abrufen und verarbeiten. In diesem Artikel betrachten wir zwei beliebte Datenbankmanagementsysteme (DBMS): die relationale PostgreSQL und die dokumentenorientierte MongoDB. Sie erfahren, wie Sie sich von einer Java-Anwendung aus mit ihnen verbinden, grundlegende Operationen ausführen und verstehen, in welchen Fällen Sie welche Technologie wählen sollten. Das Material richtet sich an Anfänger, daher sind alle Codebeispiele so einfach wie möglich und mit Kommentaren versehen.

\n\n

1. Grundlagen der Arbeit mit PostgreSQL in Java

\n\n

PostgreSQL ist ein leistungsstarkes, objektrelationales Open-Source-DBMS. Für die Interaktion mit ihm aus Java wird der JDBC-Treiber (Java Database Connectivity) verwendet. Betrachten wir den schrittweisen Prozess der Verbindung und Ausführung von Abfragen.

\n\n

1.1. Treibereinbindung und Konfiguration

\n\n

Zunächst müssen Sie die Abhängigkeit zu Ihrem Projekt hinzufügen. Wenn Sie Maven verwenden, fügen Sie den folgenden Block in Ihre pom.xml ein:

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

Für Gradle fügen Sie die Zeile in Ihre build.gradle ein:

\n\n
implementation 'org.postgresql:postgresql:42.7.1'
\n\n

1.2. Erstellen einer Tabelle und Einfügen von Daten

\n\n

Angenommen, wir haben eine Datenbank testdb mit dem Benutzer user und dem Passwort pass. Erstellen wir eine einfache Tabelle users und fügen einige Datensätze hinzu.

\n\n
import java.sql.*;\n\npublic class PostgresExample {\n    public static void main(String[] args) {\n        String url = "jdbc:postgresql://localhost:5432/testdb";\n        String user = "user";\n        String password = "pass";\n\n        try (Connection conn = DriverManager.getConnection(url, user, password);\n             Statement stmt = conn.createStatement()) {\n\n            // Tabelle erstellen\n            String createTableSQL = "CREATE TABLE IF NOT EXISTS users (" +\n                                    "id SERIAL PRIMARY KEY, " +\n                                    "name VARCHAR(100) NOT NULL, " +\n                                    "email VARCHAR(100) UNIQUE)";\n            stmt.executeUpdate(createTableSQL);\n            System.out.println("Tabelle erstellt oder bereits vorhanden.");\n\n            // Daten einfügen\n            String insertSQL = "INSERT INTO users (name, email) VALUES " +\n                               "('Ivan Petrov', 'ivan@example.com'), " +\n                               "('Maria Smirnova', 'maria@example.com')";\n            int rowsInserted = stmt.executeUpdate(insertSQL);\n            System.out.println("Zeilen hinzugefügt: " + rowsInserted);\n\n        } catch (SQLException e) {\n            e.printStackTrace();\n        }\n    }\n}
\n\n

1.3. Daten lesen mit PreparedStatement

\n\n

Für die sichere Arbeit mit Benutzereingaben verwenden Sie PreparedStatement. Dies verhindert SQL-Injection.

\n\n
String selectSQL = "SELECT * FROM users WHERE name LIKE ?";\ntry (PreparedStatement pstmt = conn.prepareStatement(selectSQL)) {\n    pstmt.setString(1, "%Ivan%");\n    ResultSet rs = pstmt.executeQuery();\n\n    while (rs.next()) {\n        int id = rs.getInt("id");\n        String name = rs.getString("name");\n        String email = rs.getString("email");\n        System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);\n    }\n} catch (SQLException e) {\n    e.printStackTrace();\n}
\n\n

Wie Sie sehen, ist die Arbeit mit PostgreSQL in Java standardisiert und gut dokumentiert

Blogs

Buchempfehlungen