前言
mybatis plus(后简称MP),是对mybatis的一个增强工具,使用MP不影响mybatis的基本使用,使用与JPA类似,目的为简化开发,提升效率。
一.安装
使用spring boot 集成,只需要在pom.xml中加入MP的依赖包,需要注意的是,引入MP时不需要再引入mybatis,以免引起版本冲突
<!--引入mybatis plus 依赖包-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
二.配置
MP提供了很多的配置选项,这里我们只配置基础配置,更多配置及进阶配置,可以查看官网手册 mybatis plus官网
在springboot中,配置书写在application.properties中
<!--配置数据源-->
spring.datasource.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=tt123456
<!--配置别名-->
mybatis-plus.type-aliases-package=com.lovo.entity
<!--配置sql语句控制台输出-->
mybatis-plus.configuration.log-impl= org.apache.ibatis.logging.stdout.StdOutImpl
在MP中内置了分页插件,需要通过java类的方式进行配置,可以在工程下建一个config的包,再建一个MybatisPlusConfig配置文件,该文件直接复制即可,不做更改
@Configuration
public class MybatisPlusConfig {
/**
* mybatis-plus分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor();
page.setDialectType("mysql");
return page;
}
}
三.基础使用
MP内置了基本的CRUD,条件查询,分页等操作,可以极大简化单表操作效率;
首先,MP中提供了代码生成器功能,可以直接使用该工具生成mapper,controller,Entity,Service类,但生成的类仅有类名和一些继承关系,感觉用处不是很大,并且生成的诸如实体类,由于MP自己的映射关系,生成的字段不便于阅读,故建议不采用此功能
然后,MP中提供了两类CRUD接口,一类是Mapper接口,一类是service接口,两者功能相似,service接口实则是对mapper接口方法的调用和封装,因此,本文只介绍mapper接口使用方法,service接口方法可自行查阅官网文档;
Mapper接口方法的使用仅需要集成BaseMapper接口,就可以使用MP为我们提供的方法;
public interface UserMapper extends SqlMapper, BaseMapper<UserEntity>
1.常用注解
@TableName("t_user") // 用于表示实体类对应的数据库表名
public class UserEntity
@TableId // 主键标识
private int id;
@TableField("userna