MyBatis-Plus 开发助手:在 AI 协作里对齐 MP 的写法与排错路径

前言

在 Java / Spring Boot 项目里做 CRUD、分页和条件查询时,MyBatis-Plus(MP)能少写不少 XML,但实际开发里常见问题很集中:分页 total 为 0、更新后字段不变、saveBatch 变慢、Invalid bound statement (not found),以及逻辑删除、主键策略、多数据源注解等配置和 API 的组合。查文档、翻 issue、对照项目里已有的 BaseMapper、QueryWrapper 写法,会占掉不少时间。下面介绍 SkillHub 上的 MyBatis-Plus 开发助手,让 AI 在识别到 MP 相关依赖和代码信号时,按同一套范围与约束协助开发与排错。

这是什么

MyBatis-Plus 开发助手 是 SkillHub 社区技能(坐标 @user_a36dc51e/mybatis-plus-dev,当前版本 3.0.0,分类 dev-programming,发布者 user_a36dc51e)。它不要求 API Key(requires_api_key=false)。

定位可以概括为:在 Java / Spring Boot 项目中,凡是涉及数据库 增删改查(CRUD)、分页查询、条件查询、Mapper / DAO / Service 层、实体与表映射、联表或复杂查询写 XML、事务 等任务,即应启用本技能——即使用户没有明确说出 “MyBatis-Plus”。

核心功能

技能说明里写明的覆盖范围如下(均为技能自述能力,而非替代官方 MP 文档):

  1. CRUD 与分层:Mapper / DAO / Service,以及继承 BaseMapper、IService、ServiceImpl 等常见结构下的代码协助。
  2. 查询与分页:条件构造(如 QueryWrapper、LambdaQueryWrapper、LambdaUpdateWrapper)、selectPage、IPage 等用法与问题场景(例如分页失效、返回全量、total 为 0)。
  3. 实体与表映射:@TableName、@TableId、@TableField、@TableLogic 等注解与字段策略;主键策略(含雪花 ID)、枚举入库、创建时间自动填充(MetaObjectHandler)、乐观锁等。
  4. 配置与插件:mybatis-plus-boot-starter、MybatisPlusInterceptor、logic-delete-field、mapper-locations、动态数据源相关信号(如 @DS)等上下文下的建议。
  5. 批量与逻辑删除:批量插入 / 导入、saveBatch 性能相关问题;逻辑删除 / 软删除。
  6. 进阶主题:多租户、数据权限、分表、动态表名;联表查询;事务不回滚等排错方向。
  7. 典型报错:如 Invalid bound statement (not found),以及「更新后字段没变」「字段置 null 不生效」等任务描述。

触发与强制使用:当依赖中出现 mybatis-plus-*,或代码 / pom 中出现上述令牌时,技能要求 必须使用;若为纯 MyBatis、未使用 ORM 或 ORM 不明,应先询问是否引入 MyBatis-Plus 再开发。

安装与启用

SkillHub 页面给出的安装方式,是向你的 AI 发送安装提示词,并引用 SkillHub 通用安装说明:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_a36dc51e/mybatis-plus-dev`。

具体目录结构、Cursor / Codex CLI / Claude Code 的差异,以 https://skillhub.cn/install/skillhub.md 为准;本技能基于通用 SKILL.md 格式分发。安装完成后,在对应 IDE 或 CLI 中加载该技能即可在会话中生效。

典型用法

本技能没有单独附带可复制的业务代码示例,典型用法是 在真实 MP 工程上下文中让 AI 自动挂上技能:

  1. 项目中已引入 mybatis-plus-boot-starter 或相关 mybatis-plus-* 依赖,或已有 extends BaseMapper 等代码。
  2. 用自然语言描述任务,例如:「给订单表做分页列表,按状态筛选」「开启逻辑删除后查询仍带出已删数据」「saveBatch 导入 1 万行很慢」。
  3. AI 在技能约束下协助生成或修改 Mapper / Service / 实体与配置,并对技能列举的报错与现象做针对性说明。

也可在对话中直接点名安装坐标 @user_a36dc51e/mybatis-plus-dev,避免纯 MyBatis 场景下误用 MP 方案。

适用场景与注意

适合谁

  • 已在或计划使用 MyBatis-Plus + Spring Boot 的团队,希望 AI 写 CRUD、分页、Wrapper 条件时与项目栈一致。
  • 遇到 MP 特有配置与 API 组合问题(分页插件、逻辑删除、字段填充、多数据源等),需要按技能范围排错而非泛泛讲 SQL。

不适用或需谨慎

  • 已使用 JPA / Hibernate 的项目:技能说明不建议为此迁移到 MP。
  • 表结构设计 / DDL、纯 SQL 性能调优(连接池、索引、慢查询等 DBA 层工作):不在技能范围内。

平台信息(截至资料抓取):SkillHub 评分 100000,下载 970 次;技能页展示版本 v3.0.0。官方入口:

  • API:https://api.skillhub.cn/user_a36dc51e/mybatis-plus-dev
  • 技能页:https://www.skillhub.cn/skills/user_a36dc51e/mybatis-plus-dev

结尾

MyBatis-Plus 开发助手把 MP 开发里高频的分层、查询、映射、插件与报错场景写进技能边界,减少 AI 在无关栈上给建议。若你的仓库里已经出现 mybatis-plus-boot-starter 或 BaseMapper,可按上文安装坐标启用;细节与安装步骤以 SkillHub 页面与 skillhub.cn/install/skillhub.md 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye