MybtisPlus分页查询的其中一种方式
是在已经引入MybatisPlus的Maven的前提下,如果没有引入,必须先引入。
第一步:我们先去配置一个分页插件配置类(是通过拦截器的方式将分页插件来加载进来的),下面是具体的实现的代码
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
第二步:这样就把MybatisPlus分页插件加载进来了,加载进来以后
我们在Controller中,编写接口,根据我们规定的参数,把参数写进来,因为我们使用的是MybatisPlus所以我们结合其给我们提供Page分页类,来存储前端传递过来的page、pageSize等一系列参数。
Controller接口中的具体编写方式:
第一步:创建完接口以后,我们首先创建MyBatisPlus给我们提供的Page对象,完后把我们参数中的Page、PageSize封装到Page中。
第二步:创建条件构造器,因为我们在分页查询的时候,有一部分是根据条件查找,完后找到我们对应的条件来完善条件构造器。
第三步:执行查询的时候,是调用的Pge()方法,完后把Page对象,和条件构造器传入进去。
下面是具体的代码:
@GetMapping("/employee/page")
public Result<Page> selectByPage(int page, int pageSize ,String name){
log.info("接受到的数据是 {}" ,page ,pageSize);
//构造分页构造器
Page pageInfo = new Page(page ,pageSize);
//根据name查询的时候,需要构造一个条件构造器
LambdaQueryWrapper<Employee> queryWrapper =new LambdaQueryWrapper();
//这步就是我们根据条件查找
queryWrapper.like(!StringUtils.isEmpty(name),Employee::getName,name);
//执行查询
employeeService.page(pageInfo,queryWrapper);
return Result.success(pageInfo);
}
经过以上步骤,我们就完成了MybatisPlus的分页查询的需求。