6.5 新特性与生态演进 本节摘要:全册最后一节不教新刀工,画一张坐标图:3.5 系列哪些改进值得现在就用;MyBatis-Plus、PageHelper 架在框架本体的哪一层;jOOQ、Spring Data JDBC 这些"替代路线"各自的定位。分清框架本体、生态增强、替代路线三层,选型才不会被名词带走。 复盘的最后一站不进手术室,进档案室。用两张地图收尾:一张版本坐标——3.5 系列的改进哪些值得立即升级;一张生态坐标——围绕着 MyBatis 的那些名词,各自站在哪一层。 3.5 系列:值得用的改进 3.5 系列的更新偏"打磨"而非"翻新",按对本册内容的回填价值排个序: 改进 | 回填本册哪一节 | 用法变化 延迟加载聚合与代理优化 | 3.2 关联映射、6.
本节摘要:全册最后一节不教新刀工,画一张坐标图:3.5 系列哪些改进值得现在就用;MyBatis-Plus、PageHelper 架在框架本体的哪一层;jOOQ、Spring Data JDBC 这些"替代路线"各自的定位。分清框架本体、生态增强、替代路线三层,选型才不会被名词带走。
复盘的最后一站不进手术室,进档案室。用两张地图收尾:一张版本坐标——3.5 系列的改进哪些值得立即升级;一张生态坐标——围绕着 MyBatis 的那些名词,各自站在哪一层。
3.5 系列的更新偏"打磨"而非"翻新",按对本册内容的回填价值排个序:
| 改进 | 回填本册哪一节 | 用法变化 |
|---|---|---|
| 延迟加载聚合与代理优化 | 3.2 关联映射、6.3 N 加一 | 懒加载触发的子查询行为更可控,配合聚合策略减少隐式子查询次数 |
| @Param 与参数装配增强 | 2.2 参数入 | 多参数场景的命名规则更宽容,@Param 注解的默认名推断更稳定 |
| TypeHandler 泛型支持增强 | 5.2 类型缝合线 | 自定义处理器的泛型注册更精确,List 误伤类问题缓解 |
| ResultMap 继承与复用增强 | 3.1 结果映射 | resultMap 的 extends 复用更顺,公共列映射少抄几遍 |
| 日志实现自动探测增强 | 6.4 排错取证 | logImpl 不配也能按 classpath 自动选对日志框架 |
| Optional 返回支持 | 1.4 会话查询 | selectOne 可声明 Optional 返回,"查不到"语义显式化 |
升级建议:从 3.4.x 升到 3.5.x 是低风险动作——API 几乎无破坏,主要收益是上面这些打磨项。真正要动配置的是下一小节的事。
围绕 MyBatis 的周边生态,按"架不架在框架本体上"分三层:

MyBatis-Plus:架在本体上,把 5.4 MBG 的"单表标准件"做成了运行时能力——BaseMapper 内置单表 CRUD,条件构造器(LambdaQueryWrapper)替代 Example,分页插件替代手写 LIMIT。用它的前提恰恰是懂本体:它生成的 SQL 出问题要回到本体查(映射、装配、执行的分层排错法原样适用),它没覆盖的多表关联照旧写 XML。
PageHelper:一个典型的 5.3 式插件——拦 Executor 改写 SQL 加 LIMIT 并附带 count 查询。理解了插件原理,它的 ThreadLocal 传参、分页不生效的排查(startPage 与查询之间插了别的 SQL)都不再是黑盒。
| 路线 | 抽象方式 | 适合谁 |
|---|---|---|
| jOOQ | SQL 即代码:类型安全的 DSL,写的是 SQL 语法、编 | 重 SQL 项目,想给 SQL 加编译期检查 |
| Spring Data JDBC | 聚合根 + 仓储:按领域模型聚合读写,不支持懒加载 | 中小项目,想绕开映射层直接领域建模 |
| JPA/Hibernate | 全自动 ORM:对象图透明持久化 | 领域模型复杂且愿意交出 SQL 控制权的团队 |
与 MyBatis 的根本分歧只在一点:SQL 控制权交不交出来。MyBatis 把 SQL 全部交你手写,换来透明与可控;替代路线按各自粒度接管 SQL,换来效率与抽象。这不是优劣题,是场景题——报表密集、SQL 深度调优的场景,MyBatis(或 jOOQ)顺手的概率大得多。
⚠️ 常见坑:引入 MyBatis-Plus 后混写两套查询体系,同一张表一半走 BaseMapper 一半走 XML,分页与字段策略各自为政。引入增强件就定好边界——单表归 Plus、多表归 XML,写进项目规范。
💡 关键直觉:技术选型先分层再比较。"MyBatis-Plus vs MyBatis"是增强层的选择题(可叠加可混用),"MyBatis vs JPA"是替代层的选择题(二选一)。混着比的人,多半还没分清这两层。
全册复盘到此收官。回到第 2、3、4 章,把你项目里的真实映射重写一遍——手术台搭好只是开始,刀工都在一台台手术里练出来。