framework
framework/mybatis-plus/index.md
medium
framework-mybatis-plus-index
MyBatis-Plus 增强用法 6 项 — 条件构造器 / 分页插件 / 逻辑删除 / 乐观锁 / 自动填充 / 与 XML 共存。Use when 用 BaseMapper 写 CRUD / 配分页插件 / 加逻辑删除或乐观锁 / 评审 MP 持久层时。
子项索引
| 子项 | 一句话 |
|---|---|
| mybatis-plus-lambda-wrapper skill | MyBatis-Plus 条件构造器优先用 LambdaQueryWrapper,方法引用代替字段名硬编码字符串,编译期校验、改名重构安全 |
| mybatis-plus-pagination skill | MyBatis-Plus 分页必须注册 PaginationInnerInterceptor 拦截器,否则 selectPage 不下推 limit、total 恒为 0 |
| mybatis-plus-logic-delete skill | MyBatis-Plus 逻辑删除用 @TableLogic 标记删除字段,delete 改为 update deleted=1,查询自动追加 deleted=0 |
| mybatis-plus-optimistic-lock skill | MyBatis-Plus 乐观锁用 @Version 标记版本字段,更新自动加 version 条件并自增,防并发丢失更新 |
| mybatis-plus-auto-fill skill | MyBatis-Plus 自动填充用 @TableField(fill) 标字段加 MetaObjectHandler 实现,统一写 createTime/updateTime,不在业务里手填 |
| mybatis-plus-coexist-with-xml skill | MyBatis-Plus 与原生 MyBatis 分工 — 简单 CRUD 走 BaseMapper/Wrapper,多表关联与复杂业务 SQL 走 XML,反对 Wrapper 拼复杂 SQL |
MyBatis-Plus · 子项索引
MyBatis-Plus 在原生 MyBatis 上增强,拆成 6 个独立决策点,按你正在做的事下钻:
| 你在做什么 | 进哪个 |
|---|---|
| 拼查询条件(怕字段名写错、想类型安全) | lambda-wrapper |
做分页发现 page 不生效 / total 永远 0 |
pagination |
| 要软删除(删除只改标记不真删行) | logic-delete |
| 并发更新同一行要防覆盖(防丢失更新) | optimistic-lock |
| 想自动写 createTime/updateTime,不在业务里手填 | auto-fill |
| 纠结这条 SQL 走 Wrapper 还是写 XML | coexist-with-xml |
原生 MyBatis 的 Mapper 接口 / XML 设计 / 动态 SQL / 防注入见
../mybatis/index.md。