Java数据库操作:PostgreSQL与MongoDB

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Java 数据库操作入门

Java 是构建企业级应用最流行的语言之一,数据库操作是此类项目不可或缺的组成部分。在现代开发中,开发者经常需要在关系型和非关系型数据库之间做出选择。本文将详细介绍如何从 Java 连接并操作两种主流数据库系统:PostgreSQL(关系型数据库)和 MongoDB(文档型 NoSQL 数据库)。您将了解驱动程序配置、CRUD 操作执行以及最佳实践。



1. Java 中的 PostgreSQL 操作

PostgreSQL 是一款功能强大的开源对象关系型数据库。通过 JDBC(Java Database Connectivity) 驱动程序实现与 Java 的交互。



1.1 添加 PostgreSQL 驱动依赖

首先在项目中添加依赖(Maven):

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


1.2 建立连接并执行查询

连接本地服务器上 mydb 数据库的示例:

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()) {

// 创建表 stmt.executeUpdate("CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100))");

// 插入数据 stmt.executeUpdate("INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')");

// 查询数据 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 使用 PreparedStatement

为防止 SQL 注入,始终使用 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. Java 中的 MongoDB 操作

MongoDB 是一种 NoSQL 数据库,以 JSON 格式文档存储数据。通过官方 MongoDB Java Driver 进行操作。



2.1 添加 MongoDB 驱动依赖

在 Maven 中添加依赖:

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


2.2 连接数据库并执行 CRUD 操作

操作 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) { // 连接 try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")) { MongoDatabase database = mongoClient.getDatabase("mydb"); MongoCollection<Document> collect

博客

书籍推荐