0 %

JDBC:Java 如何连接数据库

2026-08-17 21:51:47

JDBC 是 Java 访问数据库的标准支架。现代开发多用 MyBatis/JPA,但读懂 JDBC,你才能明白框架帮你省了什么。

依赖

com.mysql

mysql-connector-j

8.3.0

最小闭环

String url = "jdbc:mysql://localhost:3306/eden?useSSL=false&serverTimezone=UTC&characterEncoding=utf8";

String user = "root";

String password = "your_password";

String sql = "INSERT INTO article(title, content) VALUES (?, ?)";

try (Connection conn = DriverManager.getConnection(url, user, password);

PreparedStatement ps = conn.prepareStatement(sql)) {

ps.setString(1, "JDBC 第一篇");

ps.setString(2, "终于连上数据库了");

ps.executeUpdate();

}

要点:

Connection 连接

PreparedStatement 预编译 SQL(防拼接注入)

try-with-resources 自动关闭资源

绝对不要这样

// 危险:SQL 注入

String sql = "SELECT * FROM user WHERE name = '" + name + "'";

用户输入必须用 ? 占位 + setXxx。

查询示例

String sql = "SELECT id, title FROM article WHERE id = ?";

try (Connection conn = DriverManager.getConnection(url, user, password);

PreparedStatement ps = conn.prepareStatement(sql)) {

ps.setLong(1, 1L);

try (ResultSet rs = ps.executeQuery()) {

while (rs.next()) {

System.out.println(rs.getLong("id") + " " + rs.getString("title"));

}

}

}

本周小项目

实现 ArticleRepository 的 JDBC 版:

save

findById

findAll

deleteById

密码不要写死进 Git:可用本地配置文件并加入 .gitignore。

本周练习清单

成功连接本地 MySQL

用 PreparedStatement 完成增删改查

理解为何禁止字符串拼接 SQL

仓库接口与 JDBC 实现分离

YoungGc · Eden手记

学习是第一生产力。

Posted in 仙盟风云
Copyright © 2088 幻斗之墟最新活动_仙侠MMO官网 All Rights Reserved.
友情链接