这门课解决什么问题

MyBatis 是 Java 后端开发里最常用的持久层框架之一。很多初学者在学完 JDBC 后,会陷入重复写连接、PreparedStatement、ResultSet 遍历的泥潭里;而一旦进入实际项目,又会因为 SQL 分散在代码里、参数绑定麻烦、多表查询和动态条件写起来痛苦而卡住。这门课就是针对这两个痛点:先用少量篇幅把 JDBC 的局限讲透,然后围绕 MyBatis 的配置文件、映射文件、接口绑定和动态 SQL 展开,让你能写出结构清晰、可维护的数据访问层。

它不涉及 Spring 整合、缓存、插件原理等进阶内容,定位是纯粹的 MyBatis 入门。如果你已经会基本的 Java 语法、知道什么是 JDBC、能看懂简单的 SQL,但还没真正用 MyBatis 写过完整的数据访问代码,这门课就正好适合你。如果你连 JDBC 都没写过,建议先补一点基础再来看,否则第 1 章回顾 JDBC 的部分会有点赶。

建议先看哪几块

按顺序看就行,但有几个部分值得放慢速度。第 1 章里,准备工作 和 回顾 JDBC 别跳过,它们决定了你后面能不能理解为什么 MyBatis 要这样设计。第 2 章是地基,主配置文件 和 映射文件 这两节要反复看,最好边看边照着手敲一遍;基于接口的实现 和 MyBatisUtil 工具类 是理解 MyBatis 工作方式的关键,看完能明白 Mapper 接口和 XML 是怎么对应起来的。第 3 章的 CRUD 操作里,保存返回主键 和 手动映射 是实际开发中高频用到的点,多参数查询和模糊查询也很有代表性。

第 4 章动态 SQL 是本课的精华。if、choose、where、set、trim、foreach 这六个标签,几乎每个真实项目都会用到。建议把 if 和 foreach 重点看,因为前者解决条件拼接,后者解决列表参数,这两个场景最常见。第 5 章多表关系映射里的 多对一 和 一对多 是难点,视频时长也较长,不要着急,跟着案例一步步理解 resultMap 和 association/collection 的配合。第 6 章逆向工程可以放到最后,当你已经能手动写映射文件后,再来看它生成代码的原理,会觉得更顺。

学完能独立做什么

学完这门课,你能独立完成一个标准的 MyBatis 数据访问层:从创建配置文件、编写 Mapper 接口和 XML 映射文件,到实现单表 CRUD、多参数查询、模糊查询,再到用动态 SQL 处理各种条件组合,最后能处理多表关联的嵌套映射。你也能在需要时用逆向工程快速生成基础代码,再手动调整。

资料的使用方式建议是:每看完一节,先关掉视频,照着示例自己敲一遍,跑通后再做一点改动,比如把查询条件换一换,或者加一个字段。不要只看不练,MyBatis 的配置细节很容易记混,尤其是动态 SQL 的标签属性和 resultMap 的写法,必须亲手写过才能留下印象。看完第 2 章后,可以尝试自己搭一个最小的项目,把配置、接口、映射文件从头到尾写一遍,不依赖视频里的模板。这样学完,你会对 MyBatis 的整个使用流程有实实在在的掌控感,而不是停留在“看过视频”的层面。

课程目录

课程目录26 集
  • 1-1 [MyBatis简介] MyBatis简介 (12:53).mp4
  • 1-2 [MyBatis简介] 回顾JDBC (07:25).mp4
  • 1-3 [MyBatis简介] 准备工作 (17:46).mp4
  • 2-1 [MyBatis基础入门] 主配置文件 (28:05).mp4
  • 2-2 [MyBatis基础入门] 映射文件 (29:43).mp4
  • 2-3 [MyBatis基础入门] 基于接口的实现 (07:36).mp4
  • 2-4 [MyBatis基础入门] MyBatisUtil工具类 (11:07).mp4
  • 2-5 [MyBatis基础入门] 配置别名、引用属性文件 (14:24).mp4
  • 3-1 [CRUD操作] 保存返回主键 (08:37).mp4
  • 3-2 [CRUD操作] 更新操作 (08:12).mp4
  • 3-3 [CRUD操作] 查询操作 (14:57).mp4
  • 3-4 [CRUD操作] 手动映射 (18:38).mp4
  • 3-5 [CRUD操作] 多参数查询 (20:29).mp4
  • 3-6 [CRUD操作] 模糊查询 (10:34).mp4
  • 4-1 [动态SQL] 动态SQL之if (09:15).mp4
  • 4-2 [动态SQL] 动态SQL之choose (06:41).mp4
  • 4-3 [动态SQL] 动态SQL之where (05:46).mp4
  • 4-4 [动态SQL] 动态SQL之set (07:59).mp4
  • 4-5 [动态SQL] 动态SQL之trim (07:37).mp4
  • 4-6 [动态SQL] 动态SQL之foreach (10:45).mp4
  • 5-1 [多表关系映射] 多表关系映射 (15:51).mp4
  • 5-2 [多表关系映射] 查询操作之多对一 (37:08).mp4
  • 5-3 [多表关系映射] 查询操作之一对多 (19:20).mp4
  • 6-1 [MyBatis插件] 逆向工程mybatis-generator_1 (16:20).mp4
  • 6-2 [MyBatis插件] 逆向工程mybatis-generator_2 (24:26).mp4
  • 6-3 [MyBatis插件] 分页插件PageHelper (19:24).mp4