分页查询添加mp的分页插件
package com.itheima.reggie.config;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 配置MP的分页插件
*/
//使用mp的分页插件简化分页功能
@Configuration
public class MybatisPlusConfig {
//使用拦截器把插件加进去
//让spring管理他
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
//加入mp提供的拦截器
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
然后写分页查询的controller里的方法
/**
* 员工信息分页查询
* @param page
* @param pageSize
* @param name
* @return
*/
//前端f12能看到请求是get,返回的page是mp提供的
@GetMapping("/page")//page是第几页,pagesize是一页几个,name是放大镜那里输入要查的过滤条件
public R<Page> page(int page,int pageSize,String name){
log.info("page = {},pageSize = {},name = {}" ,page,pageSize,name);
//构造分页构造器,有page和pagesize时
Page pageInfo = new Page(page,pageSize);
//构造条件构造器,有可能有name时,过滤条件,泛型不写的话,下面::会报错
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();
//添加过滤条件,当name不空时添加name这个条件
queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
//添加排序条件,按更新时间排序
queryWrapper.orderByDesc(Employee::getUpdateTime);
//执行查询
employeeService.page(pageInfo,queryWrapper);
return R.success(pageInfo);
}