什么是MybatisPlus?
MybatisPlus(简称MP)是一个基于MyBatis的增强工具,它在MyBatis的基础上进行了扩展,旨在简化MyBatis的操作,提高开发效率。MybatisPlus继承了MyBatis原生的所有特性,并添加了一些额外的功能,如自动化代码生成、通用增删改查操作、条件构造器等。这些功能使得开发人员能够更专注于业务逻辑的实现,而不是过多地关注底层的数据库操作。
MybatisPlus快速入门
1.引入MybatisPlus的起步依赖
MyBatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能,并且实现了自动装配效果。 因此我们可以用MybatisPlus的starter代替Mybatis的starter:
<!--MybatisPlus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
2.定义Mapper
自定义的Mapper继承MybatisPlus提供的BaseMapper接口:
public interface UserMapper extends BaseMapper<User> {
}
常见注解
MyBatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息
MybatisPlus是如何获取实现CRUD的数据库表信息的?
- 默认以类名驼峰转下划线作为表名
- 默认把名为id的字段作为主键
- 默认把变量名驼峰转下划线作为表的字段名
MybatisPlus的常用注解
- @TableName:指定表名称及全局配置
- @TableId:指定id字段及相关配置
- @TableField:指定普通字段及相关配置
IdType枚举:
- AUTO:数据库自增长
- INPUT:通过set方法自行输入
- ASSIGN_ID:分配 ID,接口IdentifierGenerator的方法nextId来生成id,默认实现类为DefaultIdentifierGenerator雪花算法
使用@TableField的常见场景:
- 成员变量名与数据库字段名不一致 成员变量名以is开头,且是布尔值
- 成员变量名与数据库关键字冲突
- 成员变量不是数据库字段
常见配置
具体可参考官方文档:MyBatis-Plus 🚀 为简化开发而生
MyBatisPlus的配置项继承了MyBatis原生配置和一些自己特有的配置。例如: