1、封装分页插件Util
PageQuery工具类
/** * 查询参数 * */ @Data public class PageQuery<T> { /** * 每页显示条数,默认 10 */ private long size = 10; /** * 当前页 */ private long current = 1; /** * SQL 排序 ASC 数组 */ private String[] ascs; /** * SQL 排序 DESC 数组 */ private String[] descs; }
PageUtil工具类
public class PageUtil { public static <T> Page<T> getPage(PageQuery<T> pageQuery) { Page<T> page = new Page<T>(pageQuery.getCurrent(),pageQuery.getSize()); page.setAsc(pageQuery.getAscs()); page.setDesc(pageQuery.getDescs()); return page; } }
2、使用封装好的工具类实现分页功能
/** * 分页查询 * @param pageQuery * @return */ @GetMapping("/page") public R page(PageQuery<Provider> pageQuery ) { return R.ok(providerService.page(PageUtil.getPage(pageQuery))); }
***在分页的基础上实现条件查询****
/** * 分页查询 * @param pageQuery * @return */ @GetMapping("/page") public R page(PageQuery<Provider> pageQuery, String name ) { LambdaQueryWrapper<Provider> providerLambdaQueryWrapper = new LambdaQueryWrapper<>(); providerLambdaQueryWrapper.eq(StringUtils.isNotEmpty(name),Provider::getName,name); return R.ok(providerService.page(PageUtil.getPage(pageQuery),providerLambdaQueryWrapper)); }