第一步:配置MP的分页拦截器
/** * 配置MP的分页拦截器 */ @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor(); //创建一个MP拦截器 mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); //向MP拦截器添加分页拦截器 return mybatisPlusInterceptor; } }
第二步:构建分页构造器
Page<Employee> pageInfo = new Page<>(page,pageSize);
第三步:分页查询语句
employeeService.page(pageInfo,lambdaQueryWrapper); //查询后的结果自己封装到pageInfo对象中
案例:
@GetMapping("/page")
public R<Page<Employee>> page(int page,int pageSize,String name){
//构建分页构造器(需要MP的分页拦截器)
Page<Employee> pageInfo = new Page<>(page,pageSize);
//构建条件构造器
LambdaQueryWrapper<Employee> lambdaQueryWrapper=new LambdaQueryWrapper<>();
//添加模糊查询
lambdaQueryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
//添加条件查询
lambdaQueryWrapper.orderByDesc(Employee::getUpdateTime);
employeeService.page(pageInfo,lambdaQueryWrapper); //查询后的结果自己封装到pageInfo对象中
return R.success(pageInfo);
}