Java数据库操作:PostgreSQL与MongoDB

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

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

开始课程

Java 数据库操作入门



现代 Java 开发几乎离不开与存储系统的交互。在关系型 (SQL) 和非关系型 (NoSQL) 数据库之间做出选择是一项关键的架构任务。本文将以 PostgreSQL(经典关系型数据库管理系统)和 MongoDB(文档型 NoSQL 数据库)为例,讲解主要方法、最佳实践,并提供现成的代码示例。无论您是初学者还是希望系统化知识的有经验开发者,本文都将对您有所帮助。



1. 在 Java 中连接和操作 PostgreSQL



1.1 配置 JDBC 驱动



PostgreSQL 是最流行的关系型数据库之一。在 Java 中操作它需要使用 JDBC 驱动。在 pom.xml (Maven) 中添加依赖:



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


添加驱动后,即可建立连接:



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

public class PostgresConnection { public static void main(String[] args) { String url = "jdbc:postgresql://localhost:5432/mydb"; String user = "admin"; String password = "secret";

try (Connection conn = DriverManager.getConnection(url, user, password)) { System.out.println("已成功连接到 PostgreSQL!"); } catch (SQLException e) { e.printStackTrace(); } }}


1.2 CRUD 操作 (创建、读取、更新、删除)



我们来看一个操作 users 表的例子。创建记录:



String insertSQL = "INSERT INTO users (name, email) VALUES (?, ?)";try (PreparedStatement pstmt = conn.prepareStatement(insertSQL)) {    pstmt.setString(1, "伊万·彼得罗夫");    pstmt.setString(2, "ivan@example.com");    pstmt.executeUpdate();}


读取数据:



String selectSQL = "SELECT * FROM users WHERE id = ?";try (PreparedStatement pstmt = conn.prepareStatement(selectSQL)) {    pstmt.setInt(1, 1);    ResultSet rs = pstmt.executeQuery();    while (rs.next()) {        System.out.println(rs.getString("name") + " - " + rs.getString("email"));    }}


更新和删除操作类似,通过 UPDATE 和 DELETE 语句结合 PreparedStatement 执行。始终使用参数化查询——这可以防止 SQL 注入攻击。



1.3 使用连接池 (HikariCP)



在生产环境中,不建议为每个请求都打开一个新连接。请使用连接池。添加依赖:



<dependency>    <groupId>com.zaxxer</groupId>    <artifactId>HikariCP</artifactId>    <version>5.0.1</version></dependency>


配置:



HikariConfig config = new HikariConfig();config.setJdbcUrl("jdbc:postgresql://localhost:5432/mydb");config.setUsername("admin");config.setPassword("secret");config.setMaximumPoolSize(10);

HikariDataSource ds = new HikariDataSource(config);Connection conn = ds.getConnection();


2. 在 Java 中连接和操作 MongoDB



2.1 配置 MongoDB Java 驱动



MongoDB 以类似 JSON 的文档格式存储数据。操作它需要使用官方驱动。Maven 依赖:



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


连接到本地数据库:





                
                

博客

书籍推荐