-
创建工程:
-
导入MybatisPlus的起步依赖
<!--数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <!-- mybatis plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</version> </dependency>
-
创建配置文件
application.yaml(配置数据源信息,见整合ssm部分)
-
创建引导类
-
-
创建实体类:类上用
@TableName("表名")
,主键字段上加@TableId(type=IdType.AUTO)如果不设置,会由MybatisPlus根据时间戳和随机数(雪花算法)生成Long主键值,适用于分布式数据库
-
创建映射器:空的接口继承
BaseMapper<泛型>
即可 -
在启动类上:使用Mybatis提供的
@MapperScan
扫描映射器接口
QueryWrapper
MybatisPlus提供了QueryWrapper
对象,是用于生成 sql 语句where 条件的条件构造器。它提供了以下常用方法:
LambdaQueryWrapper【拓展了解】
LambdaQueryWrapper
的方法和QueryWrapper
的方法名称相同,只是:
-
QueryWrapper的每个方法,都需要输入“字段名”;容易写错出现bug
-
LambdaQueryWrapper的每个方法,传入每个字段的方法引用,不易出现bug
分页查询
- 配置分页插件:把PaginationInterceptor注册bean对象
@Configuration
public class MybatisPlusConfig {
/**
* 启用分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
- 执行分页查询
//1. 封装分页对象
IPage page = new page(当前页码, 查询几条);
//2. 准备查询条件
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper().eq(User::getSex, 1);
//3. 执行分页查询
IPage iPage = userMapper.selectPage(page, wrapper);
* 拓展:MybatisPlus的Service接口
* 1. Service实现类:要继承ServiceImpl<Mapper,实体类>父类
* 实现类是空的实现类
* 2. Service接口:要继承IService父接口
* 接口是一个空的接口
*
* service层已经有了基本的增删改查功能
* 在Controller里,可以直接调用