Einführung in die Arbeit mit Datenbanken in Java
Java ist eine der beliebtesten Sprachen für die Entwicklung von Unternehmensanwendungen, und die Arbeit mit Datenbanken (DB) ist ein wesentlicher Bestandteil solcher Projekte. In der modernen Welt stehen Entwickler oft vor der Wahl zwischen relationalen und nicht-relationalen Datenbanken. In diesem Artikel werden wir im Detail besprechen, wie man sich mit zwei populären Systemen verbindet und arbeitet: PostgreSQL (relationale DB) und MongoDB (dokumentenorientierte NoSQL-DB) aus Java. Sie erfahren mehr über die Einrichtung von Treibern, die Durchführung von CRUD-Operationen und bewährte Verfahren.
1. Arbeiten mit PostgreSQL in Java
PostgreSQL ist eine leistungsstarke objektrelationale Open-Source-Datenbank. Für die Interaktion mit ihr aus Java wird der Treiber JDBC (Java Database Connectivity) verwendet.
1.1 Einbinden des PostgreSQL-Treibers
Fügen Sie zunächst die folgende Abhängigkeit zu Ihrem Projekt hinzu (Maven):
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.1</version></dependency>1.2 Verbindungsaufbau und Ausführen von Abfragen
Beispiel für die Verbindung zur Datenbank mydb auf einem lokalen Server:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;
public class PostgresExample { public static void main(String[] args) { String url = "jdbc:postgresql://localhost:5432/mydb"; String user = "postgres"; String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement()) {
// Tabelle erstellen stmt.executeUpdate("CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100))");
// Daten einfügen stmt.executeUpdate("INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')");
// Daten abfragen ResultSet rs = stmt.executeQuery("SELECT * FROM users"); while (rs.next()) { System.out.println("ID: " + rs.getInt("id") + ", Name: " + rs.getString("name")); } } catch (Exception e) { e.printStackTrace(); } }}1.3 Verwendung von PreparedStatement
Verwenden Sie zum Schutz vor SQL-Injection immer PreparedStatement:
String sql = "INSERT INTO users (name, email) VALUES (?, ?)";try (PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, "Bob"); pstmt.setString(2, "bob@example.com"); pstmt.executeUpdate();}2. Arbeiten mit MongoDB in Java
MongoDB ist eine NoSQL-Datenbank, die Daten in JSON-ähnlichen Dokumenten speichert. Für die Arbeit mit ihr wird der offizielle MongoDB Java Driver verwendet.
2.1 Einbinden des MongoDB-Treibers
Fügen Sie die Abhängigkeit zu Maven hinzu:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.11.1</version></dependency>2.2 Verbindung zur Datenbank und CRUD-Operationen
Beispiel für die Arbeit mit der Collection users:
import com.mongodb.client.MongoClient;import com.mongodb.client.MongoClients;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;
public class MongoDBExample { public static void main(String[] args) { // Verbindung try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")) { MongoDatabase database = mongoClient.getDatabase("mydb"); MongoCollection<Document> collect