Spring Boot 集成 MyBatis-Plus 只需引入 mybatis-plus-boot-starter 依赖、配置数据源与 MP 全局参数、实体类添加 @TableName 等注解、Mapper 继承 BaseMapper,即可自动获得 CRUD、分页及条件查询能力。

Spring Boot 集成 MyBatis-Plus 很直接,核心是用对 starter、配好数据源、写对注解,不用手写 XML 或基础 CRUD 方法就能跑通单表操作。
添加依赖只需一个 starter
在 pom.xml 中引入官方推荐的启动器,不要同时加原生 MyBatis 依赖,避免冲突:
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency>
如果用 MySQL,再补上驱动(mysql-connector-java),其他数据库同理。Lombok 建议一起加,省去 getter/setter。
配置数据源和 MP 基础行为
在 application.yml 中写两块内容:
- 数据源部分:指定 URL、账号密码、驱动类,推荐用 HikariCP(Spring Boot 默认)或 Druid(带监控)
-
MyBatis-Plus 配置部分:开启 SQL 日志便于调试,设置主键策略(如
id-type: auto),定义逻辑删除字段(如logic-delete-field: deleted)
示例片段:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
id-type: auto
logic-delete-field: deleted
logic-delete-value: 1
logic-not-delete-value: 0
实体类加注解,Mapper 继承 BaseMapper
实体类用 Lombok + MP 注解,明确表名、主键、字段映射和逻辑删除:
-
@TableName("sys_user")—— 指定数据库表名 -
@TableId(type = IdType.AUTO)—— 主键自增 -
@TableField("nick_name")—— 字段名与属性名不一致时映射 -
@TableLogic—— 标记该字段为逻辑删除字段
Mapper 接口只要继承 BaseMapper<User>,就自动拥有 insert、selectById、updateById、deleteById 等方法,无需实现类或 XML。
分页和条件查询靠内置工具
不用自己写 limit 和 offset,也不用手拼 where:
- 分页查:注入
IPage<User>,用page(pageNum, pageSize)方法传参,MP 自动拦截并改写 SQL - 条件查:用
QueryWrapper<User>或更安全的LambdaQueryWrapper<User>构建条件,比如wrapper.eq(User::getAge, 25)
这些能力开箱即用,不需要额外配置插件(3.4+ 版本已内置分页拦截器,但需在配置类中注册 PaginationInnerInterceptor 才生效)。

















