mybatisplus分页查询——Page
MyBatisPlus分页详解
1.使用步骤
(1)添加配置类
注意:一般在项目中创建一个config包,把配置类放到下面
@Configuration//标注该类是一个Spring配置类 public class MyBatisPlusConfig { @Bean//使用在方法上,标注将该方法的返回值存储到Spring容器中 public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return mybatisPlusInterceptor; } }
2.测试分页
@GetMapping("/page") public R<Page> page(int page, int pageSize, String name) {//前端传过来分页所需要的参数 //Page类是mp提供的 // 构造分页构造器 Page pageInfo = new Page(page,pageSize); // 构造条件构造器 LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>(); // 添加过滤条件 queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name); // 添加排序条件 queryWrapper.orderByDesc(Employee::getUpdateTime); // 执行查询 employeeService.page(pageInfo,queryWrapper); //pageInfo中包含Page类的各个参数 return R.success(pageInfo);
3.page类详解
(1)page类的参数源码如下
private static final long serialVersionUID = 8545996863226528798L; protected List<T> records; protected long total; protected long size; protected long current; protected List<OrderItem> orders; protected boolean optimizeCountSql; protected boolean isSearchCount; protected boolean hitCount; protected String countId; protected Long maxLimit;
(2)各个参数的含义
(1)records:用来存放查询出来的数据
(2)total: 用来返回记录的总数
(3)size: 每页显示条数,默认 10
(4)current:表示当前页,默认1
(5)orders: 排序字段信息
(6)optimizeCountSql: 自动优化 COUNT SQL,默认true
(7)isSearchCount: 是否进行 count 查询,默认true
(8)hitCount: 是否命中count缓存,默认false