Skip to content

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

维度MyBatisMyBatis-Plus
简单 CRUD需要写 SQL 和 XMLBaseMapper 零 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-高级特性防全表更新、枚举、序列化高级