Java后端开发的“最后一公里”:从语法到数据持久化
很多Java初学者容易陷入一种误区:类、接口、集合、异常处理背得滚瓜烂熟,代码写得头头是道,可一旦要连接数据库、保存一条用户信息,就不知从何下手。这门课解决的核心痛点,正是Java语言与关系型数据库之间的“翻译”问题。JDBC(Java Database Connectivity)不是复杂的框架,它是Java标准库中操作数据库的底层API。不理解JDBC,直接上手Spring JPA或MyBatis会像空中楼阁——你知道怎么写注解,却不知道底层SQL是怎么发出去的,结果集是怎么映射成对象的。
这门课适合已经掌握JavaSE基础(特别是面向对象编程和集合框架)的学习者。如果你在备考或转岗过程中,发现简历上写了“熟悉Java”,但被问到“如何用纯Java连接MySQL并查询数据”时大脑一片空白,那么这里是你的补缺之地。课程不追求大而全的框架速成,而是死磕JDBC的原始用法,为你后续学习任何ORM框架打下坚不可摧的地基。
学习路径建议:先懂原理,再谈封装
建议学习顺序严格遵循课程结构,不要跳步。
- 第一阶段:打通连接(1-1至1-3)。重点理解DriverManager、Connection、Statement这三个核心对象的生命周期。很多初学者只会写连接代码,却不知道怎么判断连接是否真的成功。这一阶段务必亲手敲出连接MySQL的代码,并能在控制台看到连接成功的输出。这是所有后续操作的前提。
- 第二阶段:掌握CRUD核心操作(2-1至2-7)。这是课程的重头戏。注意区分DML(Insert/Update/Delete)和DQL(Select)。执行DML时,重点理解资源释放的重要性——为什么必须关闭ResultSet、Statement和Connection?否则会导致数据库连接池耗尽。执行DQL时,重点攻克ResultSet结果集的遍历方式:查一条记录怎么取?查所有记录怎么循环?这里的逻辑是后续所有高级框架映射数据的底层逻辑。
- 第三阶段:思想升华(3-1)。引入DAO(Data Access Object)模式。不要只把它当作一个概念,要理解为什么要将数据库操作封装到DAO类中,而不是写在业务逻辑里。这是从“写脚本”到“写工程”的关键一步。
学完能做什么?资料如何配合练习
完成本课程后,你将能够独立使用纯Java代码完成对MySQL数据库的增删改查,理解SQL注入的风险及PreparedStatement的必要性(虽未在目录显式列出,但JDBC必讲),并能用DAO思想组织数据库访问层代码。这意味着你具备了开发传统JavaWeb应用最基础的数据交互能力。
资料包通常包含项目源码和数据库脚本。请勿直接复制粘贴运行,那没有任何意义。正确的配合方式是:先按照视频讲解,手动敲出每一行JDBC代码;遇到报错时,再对照资料包中的源码找出差异。对于“为什么要释放资源”这类理论小节,建议在代码中故意注释掉close()方法,观察程序多次运行后的内存或连接状态变化,通过实践验证理论。只有亲手踩过坑,这些知识才会真正属于你。
课程目录
1-1 [JDBC基本使用] 什么是JDBC (04:48) 1-2 [JDBC基本使用] JDBC连接MySQL (12:26) 1-3 [JDBC基本使用] 查看连接是否成功 (03:06) 2-1 [JDBC执行CURD操作] JDBC创建Mysql表 (08:05) 2-2 [JDBC执行CURD操作] 为什么要释放资源 (04:27) 2-3 [JDBC执行CURD操作] JDBC执行DMl操作 (12:43) 2-4 [JDBC执行CURD操作] 查询结果集ResultSet介绍 (06:28) 2-5 [JDBC执行CURD操作] 执行DQL操作 (07:07) 2-6 [JDBC执行CURD操作] DQL查询一条记录 (04:50) 2-7 [JDBC执行CURD操作] DQL查询所有记录 (04:42) 3-1 [DAO思想] 什么是DAO (07:14) 3-2 [DAO思想] ORM对象关系映射 (07:04) 3-3 [DAO思想] domain是什么 (09:54) 3-4 [DAO思想] DAO思想代码演示 (14:44) 3-5 [DAO思想] 面向接口编程 (07:01) 3-6 [DAO思想] DAO命名规范 (03:24) 3-7 [DAO思想] DAO开发步骤 (10:29) 3-8 [DAO思想] DAO编写保存功能 (13:52) 3-9 [DAO思想] 单元测试 (04:13) 3-10 [DAO思想] DAO删除更新操作 (07:26) 3-11 [DAO思想] DAO查询操作 (12:26) 3-12 [DAO思想] DAO重构用户名密码 (06:58) 3-13 [DAO思想] DAO抽取JDBC工具类 (06:42) 3-14 [DAO思想] DAO封装连接对象方法 (08:07) 3-15 [DAO思想] DAO封装关闭资源 (04:25) 4-1 [预编译语句] 预编译语句介绍 (05:56) 4-2 [预编译语句] 预编译语句代码实现 (06:13) 4-3 [预编译语句] 预编译语句改写DAO (06:21) 4-4 [预编译语句] 预编译语句性能优化 (06:15) 4-5 [预编译语句] 用户登录功能 (08:07) 4-6 [预编译语句] SQL注入 (08:20) 4-7 [预编译语句] JDBC调用存储过程 (08:44) 4-8 [预编译语句] JDBC调用输出参数存储过程 (07:10) 5-1 [事务与批处理] 事务转账问题 (14:07) 5-2 [事务与批处理] 保存图片到数据库 (13:30) 5-3 [事务与批处理] 批处理 (12:15) 5-4 [事务与批处理] 保存图片到数据库 (13:30) 5-5 [事务与批处理] 从数据库当中获取图片 (06:28) 5-6 [事务与批处理] 获取自动生成主键需求 (05:42) 5-7 [事务与批处理] 获取自动生成主键实现 (09:44) 6-1 [数据库连接池与配置文件] 池概念 (07:06) 6-2 [数据库连接池与配置文件] 数据库连接池 (04:28) 6-3 [数据库连接池与配置文件] 连接池分类 (08:14) 6-4 [数据库连接池与配置文件] DBCP连接池他用 (15:12) 6-5 [数据库连接池与配置文件] 配置文件介绍 (06:08) 6-6 [数据库连接池与配置文件] 读取配置文件 (11:29) 6-7 [数据库连接池与配置文件] 配置文件改写DBCP连接池 (04:55) 6-8 [数据库连接池与配置文件] Druid连接池 (08:40) 7-1 [封装DBUtils工具类] 代码重构原则 (07:29) 7-2 [封装DBUtils工具类] DML代码抽取 (13:49) 7-3 [封装DBUtils工具类] 抽取CRUD模板 (10:21) 7-4 [封装DBUtils工具类] DQL代码抽取 (08:10) 7-5 [封装DBUtils工具类] 结果集处理器思路 (11:42) 7-6 [封装DBUtils工具类] 结果集处理器代码实现 (13:29) 7-7 [封装DBUtils工具类] 结果集处理器添加泛型 (14:19) 7-8 [封装DBUtils工具类] 结果集处理器存在的问题 (05:42) 7-9 [封装DBUtils工具类] 内省 (18:53) 7-10 [封装DBUtils工具类] 通过结果集处理器 (16:25) 7-11 [封装DBUtils工具类] 通用结果集处理器封装jar包 (11:49) 7-12 [封装DBUtils工具类] DBUtils基本使用 (17:50)





