1.首先根据官网,在springBoot启动类或者自定义配置类,编写分页拦截器,加@Bean注解交由spring容器管理,代码如下:
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
可根据自己的数据库类型更改DbType;
2.自定义分页返回值对象,这里我们定义最常用的返回查询的总条数Total和当前页数据List集合,加了泛型,可以通用返回其他数据:
@Data @NoArgsConstructor @AllArgsConstructor public class PageDTO{ private Long total; private List list; }
3. 编写controller,接收请求page和size返回结果,这里对查找结果加了些条件,如果没有条件要求,可以不用加,直接用service.page(new page<>(page,size))
@GetMapping("/list")
public PageDTO page(@RequestParam(value = "page") int page,
@RequestParam(value = "size") int size) {
Page- itemPage = new Page<>(page, size);
LambdaQueryWrapper
- queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.ne(Item::getStatus, Globle.ITEM_IS_DELETE).orderByAsc(Item::getId);
Page
- result = itemService.page(itemPage,queryWrapper);
PageDTO
- objectPageDTO = new PageDTO<>();
objectPageDTO.setTotal(result.getTotal());
objectPageDTO.setList(result.getRecords());
return objectPageDTO;
}



