JDBC记忆核心是用逻辑串联四大对象及常见问题:DriverManager加载驱动获连接,Connection管理会话需及时关闭,PreparedStatement防注入,ResultSet遍历取值;须掌握SQLException定位、代码片段固化、事务控制、资源释放顺序和时间类型适配。

记 Java JDBC 思维导图,核心不是背图,而是用逻辑串起关键节点,让每个分支都对应一个可验证的操作或常见问题。下面分几块帮你理清怎么记才真正有用:
先抓主干:JDBC 四大核心对象
这是整个思维导图的骨架,必须牢牢记住它们的职责和顺序:
-
DriverManager:负责加载驱动、获取连接(
getConnection()),不用 new,是工具类 -
Connection:代表与数据库的一次会话,所有操作起点;记得及时
close(),否则连接泄漏 -
Statement / PreparedStatement:执行 SQL 的“手”。普通 Statement 易 SQL 注入,带参数必用 PreparedStatement(
setString(1, "xxx")) -
ResultSet:查询结果集,用
next()移动游标,getString("name")或getString(1)取值
重点记住异常处理链路
JDBC 操作几乎每一步都可能抛 SQLException,思维导图里这块不能只写“要 try-catch”,得记清楚哪里必须处理、哪里可以简化:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
- Connection 获取失败 → 驱动没加载 or URL/账号错 → 检查
Class.forName()(旧方式)或确认 MySQL 8+ 驱动自动注册 - executeQuery() 报错 → SQL 语法错 or 表不存在 → 直接看异常 message,比 debug 更快
- ResultSet 取值报 “Column not found” → 列名大小写敏感(尤其 PostgreSQL)、别名没写对、或用了
select *但字段顺序变了
把常用流程转成可复现的代码片段
光记名词没用,思维导图每个分支最好配一句极简代码,形成肌肉记忆:
立即学习“Java免费学习笔记(深入)”;
- 加载驱动(MySQL 8+)→
Class.forName("com.mysql.cj.jdbc.Driver");(可省略,但导图里建议保留注释说明) - 获取连接 →
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123"); - 预编译查询 →
PreparedStatement ps = conn.prepareStatement("SELECT * FROM user WHERE id = ?"); ps.setInt(1, 100); - 遍历结果 →
while(rs.next()) { String name = rs.getString("username"); }
补充易忽略但高频的细节分支
这些点考试不考、但写项目天天踩坑,导图里单列出来,记一次少 debug 半小时:
-
事务控制:默认自动提交,需要手动事务就调
conn.setAutoCommit(false),之后commit()或rollback() - 资源释放顺序:ResultSet → Statement → Connection(反向关闭,用 try-with-resources 最稳)
-
数据库时间类型:Java 的
java.util.Date不能直接 set 到 PreparedStatement,要用java.sql.Timestamp或LocalDateTime(JDBC 4.2+)

















