MyBatis Plus 是一个基于 MyBatis 的增强工具,旨在简化开发过程,提高开发效率。它提供了许多实用的功能,如代码生成器、分页插件、条件构造器等,使得开发者可以更专注于业务逻辑的实现,而不必过多关注 MyBatis 的配置和 SQL 编写。
MyBatis Plus 概述
1. 主要特性
- 无侵入:MyBatis Plus 在 MyBatis 的基础上进行扩展,不会对 MyBatis 的现有功能造成影响。
- 依赖少:仅依赖于 MyBatis 和 Spring,没有其他额外的依赖。
- 强大的 CRUD 操作:内置通用的 Mapper 和 Service,只需要简单的配置即可实现单表的 CRUD 操作。
- 支持 Lambda 表达式:通过 Lambda 表达式,方便地进行 SQL 操作。
- 支持主键自动生成:支持多种主键生成策略,如 UUID、自增 ID 等。
- 支持 ActiveRecord 模式:实体类只需继承 Model 类即可进行 CRUD 操作。
- 内置分页插件:基于 MyBatis 物理分页,开发者无需手动编写分页 SQL。
- 内置性能分析插件:可输出 SQL 语句及其执行时间,帮助开发者优化 SQL。
- 内置全局拦截插件:提供全局的 SQL 拦截功能,方便进行 SQL 改写和日志记录。
2. 核心组件
- BaseMapper:提供了通用的 CRUD 方法,如
insert
、delete
、update
、select
等。 - IService:提供了更丰富的服务层方法,如分页查询、批量操作等。
- Wrapper:条件构造器,用于构建复杂的查询条件。
- PaginationInnerInterceptor:分页插件,支持物理分页。
- AutoGenerator:代码生成器,可以根据数据库表结构自动生成实体类、Mapper 接口、Service 接口及其实现类。
入门程序介绍
下面我们将通过一个简单的入门程序来介绍如何使用 MyBatis Plus。
1. 环境准备
- JDK 1.8 或更高版本
- Maven 3.5 或更高版本
- MySQL 5.7 或更高版本
- Spring Boot 2.x
2. 创建 Spring Boot 项目
使用 Spring Initializr 创建一个新的 Spring Boot 项目,添加以下依赖:
- Spring Web
- Spring Data JPA
- MySQL Driver
- MyBatis Plus
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java<