Appearance
MyBatis-Plus 知识体系
MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了通用的 CRUD 接口、条件构造器、分页插件、代码生成器等强大功能。
为什么选择 MyBatis-Plus?
MyBatis 的痛点:
① 简单 CRUD 也要手写 SQL → 重复劳动
② 分页需要自己写插件或 PageHelper → 不够原生
③ 主键策略需要手动处理 → 不够灵活
④ 逻辑删除、自动填充需要自己实现 → 重复造轮子
⑤ 条件查询需要大量 if 判断 → 代码臃肿
MyBatis-Plus 的解决:
① BaseMapper 通用 CRUD → 零 SQL 完成增删改查
② 内置分页插件 → 一行代码实现物理分页
③ 主键策略 → 支持雪花算法、UUID、自增等
④ 逻辑删除、自动填充 → 注解搞定
⑤ 条件构造器 → Lambda 表达式写查询,类型安全知识体系全景
MyBatis-Plus 学习路线(从浅到深):
入门篇 ─────────────────────────────────────────────────
│ ① 概述与架构 → 了解 MP 是什么、解决了什么问题
│ ② 快速入门 → 5 分钟搭建第一个 MP 项目
└───────────────────────────────────────────────────────
核心篇 ─────────────────────────────────────────────────
│ ③ BaseMapper CRUD → 通用 CRUD 接口全解
│ ④ 条件构造器 → QueryWrapper/LambdaQueryWrapper
│ ⑤ 分页插件 → 物理分页、多表分页
│ ⑥ 主键策略 → 雪花算法、ASSIGN_ID、AUTO
└───────────────────────────────────────────────────────
进阶篇 ─────────────────────────────────────────────────
│ ⑦ 逻辑删除 → @TableLogic 软删除
│ ⑧ 自动填充 → @TableField(fill) 自动填充时间
│ ⑨ 乐观锁 → @Version 乐观锁插件
│ ⑩ 代码生成器 → 一键生成 Entity/Mapper/Service
└───────────────────────────────────────────────────────
高级篇 ─────────────────────────────────────────────────
│ ⑪ 多数据源 → @DS 动态数据源切换
│ ⑫ 高级特性 → 防全表更新、枚举、序列化
└───────────────────────────────────────────────────────速记口诀
MyBatis-Plus 核心能力:
BaseMapper 免 CRUD,Wrapper 条件构造,
分页插件一键配,雪花 ID 自动生,
逻辑删除注解标,自动填充时间戳,
乐观锁防并发写,代码生成器提效。
MP vs MyBatis:
MyBatis 写 SQL,Plus 帮你写,
MyBatis 手动分页,Plus 一行搞定,
MyBatis 自己拼条件,Plus Lambda 类型安全。MyBatis-Plus vs MyBatis
| 维度 | MyBatis | MyBatis-Plus |
|---|---|---|
| 简单 CRUD | 需要写 SQL 和 XML | BaseMapper 零 SQL |
| 条件查询 | 动态 SQL 标签 | Lambda 表达式 + Wrapper |
| 分页 | PageHelper 插件 | 内置分页插件 |
| 主键策略 | 手动处理 | 注解配置(雪花/自增/UUID) |
| 逻辑删除 | 手动实现 | @TableLogic 注解 |
| 自动填充 | 手动拦截器 | @TableField(fill) |
| 乐观锁 | 手动实现 | @Version 注解 |
| 代码生成 | 第三方工具 | 内置 AutoGenerator |
| 多数据源 | 手动配置 | @DS 注解动态切换 |
| 学习成本 | 低 | 更低 |
文档导航
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-概述与架构 | 架构设计、核心特性、与 MyBatis 关系 | 入门 |
| 02-快速入门 | 环境搭建、第一个 Demo | 入门 |
| 03-BaseMapper通用CRUD | 内置 CRUD 方法全解 | 核心 |
| 04-条件构造器 | Wrapper、Lambda 条件查询 | 核心 |
| 05-分页插件 | 物理分页、多表分页 | 核心 |
| 06-主键策略 | 雪花算法、ASSIGN_ID | 核心 |
| 07-逻辑删除 | @TableLogic 软删除 | 进阶 |
| 08-自动填充 | 创建时间、更新时间自动填充 | 进阶 |
| 09-乐观锁 | @Version 并发控制 | 进阶 |
| 10-代码生成器 | AutoGenerator 一键生成 | 进阶 |
| 11-多数据源 | @DS 动态数据源 | 高级 |
| 12-高级特性 | 防全表更新、枚举、序列化 | 高级 |
