
在 MyBatis 之上做增强
MyBatis Plus 面向 Java 持久层开发,定位是在 MyBatis 基础上做增强,而不是替换原有框架。它通过扩展点、插件和辅助类实现功能,核心思路是非侵入式增强,尽量不影响原有 MyBatis 的使用方式。
对于已经使用 MyBatis 的项目,它强调与原生 MyBatis 保持兼容,新项目搭建或老项目重构都可以考虑引入。项目本身是开发工具库,不提供面向最终用户的后台管理界面。
自动化 CRUD 与条件构造
通用 Mapper 和 Service 接口是这套工具库的基础能力之一。开发者通过继承相应基类,就能获得对单表基本方法的操作能力,减少重复编写增删改查 SQL 的工作量。
条件构造器提供 QueryWrapper、UpdateWrapper 等包装器,并支持 Lambda 表达式链式调用。这种方式以类型安全的方式动态构建查询条件、排序规则和更新字段,有助于降低 SQL 拼接出错的可能。
在参数处理上,通过条件构造器生成的动态 SQL 采用预编译方式,用于降低 SQL 注入风险。
代码生成、分页与主键策略
代码生成引擎可根据数据库表结构生成 Entity 实体类、Mapper 接口、Service 服务层以及 Controller 控制层的样板代码,并支持自定义模板引擎,以适配不同项目规范。
分页插件会根据不同数据库方言生成分页语句,开发者传入分页参数后,插件处理分页逻辑并返回分页结果对象。主键方面,内置了自增 ID、UUID、雪花算法等多种策略,方便按业务需求配置。
此外,实体类可以继承 Model 类来使用 Active Record 模式,直接在实体对象上进行数据库操作,为偏好这种写法的开发者提供另一种选择。
集成方式与运行核对
集成时通常通过 Maven 或 Gradle 引入 mybatis-plus-boot-starter 依赖,项目需要基于 Java 8 及以上版本,并已集成 Spring Boot 和 MyBatis。它适配 Spring Boot,提供 Starter 依赖,并可在启动时按约定完成核心组件配置与注入。
下载或引入前,建议先确认本地 Java 版本、构建工具以及 Spring Boot 与 MyBatis 的现有配置是否匹配,再决定在哪个模块中接入。