
com.github.dreamroute.pager.starter.api.Pager Maven / Gradle / Ivy
package com.github.dreamroute.pager.starter.api;
import com.github.dreamroute.pager.starter.interceptor.PageContainer;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import static java.util.Optional.ofNullable;
/**
* 查询辅助工具类
*
* @author w.dehi
*/
public class Pager {
private Pager() {}
/**
* 调用此方法,就能获取到分页信息
*
* @param pageRequest 分页请求
* @param query 分页mapper方法
* @param 分页请求参数类型
* @param 分页mapper的返回值类型
* @return 返回此次查询的分页信息
*/
public static PageResponse page(PageRequest pageRequest, Function, List> query) {
PageContainer resp = (PageContainer) query.apply(pageRequest);
PageResponse result = new PageResponse<>();
List data = new ArrayList<>(ofNullable(resp).orElseGet(PageContainer::new));
result.setData(data);
result.setTotalNum(resp.getTotal());
result.setPageNum(resp.getPageNum());
result.setPageSize(resp.getPageSize());
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy