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<T> {
/**
* 总条数
*/
private Long total;
/**
* 当前页数据
*/
private List<T> list;
}
3. 编写controller,接收请求page和size返回结果,这里对查找结果加了些条件,如果没有条件要求,可以不用加,直接用service.page(new page<>(page,size))
/**
*
* 分页查询
* @param page
* @param size
* @return
*/
@GetMapping("/list")
public PageDTO page(@RequestParam(value = "page") int page,
@RequestParam(value = "size") int size) {
Page<Item> itemPage = new Page<>(page, size);
LambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.ne(Item::getStatus, Globle.ITEM_IS_DELETE).orderByAsc(Item::getId);
Page<Item> result = itemService.page(itemPage,queryWrapper);
PageDTO<Item> objectPageDTO = new PageDTO<>();
objectPageDTO.setTotal(result.getTotal());
objectPageDTO.setList(result.getRecords());
return objectPageDTO;
}
本文介绍了在SpringBoot项目中使用MybatisPlus实现分页查询的步骤。首先配置分页拦截器,然后定义分页返回对象,最后在Controller中处理请求并返回分页数据。
3500





