1. 配置mybatisplus分页插件
/**
* 配置MP的分页插件
*/
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
2. 编写分页查询
@GetMapping("/list")
public PageDTO list(@RequestParam(value = "page",defaultValue = "1") Integer page,
@RequestParam(value = "size",defaultValue = "10") Integer size) {
//创建分页构造器
Page<Item> itemPage = new Page<>(page, size);
//创建条件构造器
LambdaQueryWrapper<Item> wrapper = new LambdaQueryWrapper<>();
//分页查询,分页查询结果会保存到itemPage中
itemService.page(itemPage,wrapper);
//封装PageDTO,pageDTO是自定义的
PageDTO<Item> pageDTO = new PageDTO<>();
pageDTO.setTotal(itemPage.getTotal());
pageDTO.setList(itemPage.getRecords());
return pageDTO;
}