MyBatis-Plus
MyBatis-Plus
MyBatis-Plus(MP)是MyBatis的增强工具,它简化了基础的增删改查、实体映射、逻辑删除等操作,通过提供一系列自动帮手类和插件,极大地减轻了开发者的编码负担。
1. MyBatis-Plus原理概述
MyBatis-Plus的核心在于其生成的BaseMapper
接口和IService
接口。这些接口内部集成了众多通用方法,基于这些方法,MP能够简化常见的数据库操作。
- BaseMapper:这是自动生成的映射器接口,它继承了
Mapper<T>
,提供了包括selectList
,insert
,deleteById
,updateById
等常用CRUD方法。 - IService:它扩展了
BaseMapper<T>
的API,提供更高级别的服务方法,如分页查询、基于条件的查询等。
MP实现这些高级功能的背后涉及到反射、动态代理、元注解、SQL解析等多个技术点,简化了开发者对SQL语句的手动编写过程。
2. 动手实践
2.1 环境搭建
首先,需要在Spring Boot项目中添加MyBatis-Plus的依赖:
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- MyBatis Plus 核心API -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
配置数据库连接:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: username
password: password
2.2 实体类与Mapper接口
有一个User
实体类:
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName("t_