- 文集信息
- 目录大纲
- 最新文档
- 知识宇宙
文集详情
文集导读
教程导读
一句话定位:这是一册把 MyBatis 当"SQL 映射手术台"来讲的教程——每个 Mapper 接口方法到 SQL 的映射,都被拆成"参数入、动态拼装、结果出"三步手术,学完你能独立设计并排错一套生产级的 MyBatis 数据访问层。
这个教程解决什么问题
写过一段时间持久层代码的人,多半见过这两种极端:一边是裸写 JDBC,几百行代码里大半在搬运参数、关资源、抄结果集;另一边是全自动 ORM,一句注解查全表,遇到复杂 SQL 又不得不翻底层的方言与生成逻辑。MyBatis 卡在中间——SQL 你自己写,搬运参数和组装对象的活它全包了。
问题是,很多开发者只学会了"照着例子把 select 标签抄进 XML",一遇到绑定异常就抓瞎,一到关联查询就对象重复,一开二级缓存就脏读。这些坑的根源不是 MyBatis 难,而是没有把它当成一个有完整流程的系统去理解。
这本教程的主线只有一个:一次映射就是一台手术。参数从接口方法进来(参数入),经过动态 SQL 的条件缝合(拼装),最后按 resultMap 收口成对象(结果出)。全册 6 章都挂在这条手术流水线上:先搭台(核心组件),再做两端的出入口(参数与结果),再学缝合术(动态 SQL),最后是术后监护(缓存、插件、Spring 集成)与手术复盘(规范、性能、排错)。
全册知识地图

适合谁读
- 会写 Java、摸过 SQL,但每次连数据库还在复制 JDBC 模板代码的人
- 已经在项目里用 MyBatis,但只会抄 XML、报错靠搜索的人
- 面试前想系统梳理一级二级缓存、动态 SQL、插件原理的后端工程师
- 维护老系统的接手人:想把散落的 SQL 映射收拾出规范来
学完你能做什么
- 从零搭起一套 MyBatis 环境,说清 SqlSessionFactory、SqlSession、Mapper 三层的职责与生命周期
- 独立完成参数入(多参数、主键回填、批量写入)与结果出(ResultMap、一对一、一对多)的双向映射
- 用 if、where、choose、set、foreach 写出可维护的动态 SQL,并知道每类标签的翻车点
- 解释一级缓存的命中条件与二级缓存的脏读风险,能自定义 TypeHandler 与插件
- 在 Spring 项目里正确集成 MyBatis,事务不踩坑
- 拿到报错能顺着"绑定异常、参数找不到、结果为 null"的决策树自己定位
学习路线
怎么用这个教程
第 1 章到第 4 章是主干,建议按顺序读,每节的代码都值得在本地跑一遍——教程通篇围绕一套用户、订单、商品的库表展开,前后节的案例互相引用。第 5、6 章偏工程化,可以在做完项目后回头对照。动手环境只需要 JDK 8 以上、一个 MySQL 或 H2,依赖用 Maven 引入即可。
一句贯穿全册的话:Mapper 接口是手术预约单,SQL 是手术方案,参数和结果映射是缝合线——三者对得上,手术才算干净。
目录大纲
最新文档
知识宇宙
正在加载知识图谱...