java List获取分页工具类

    xiaoxiao2022-07-02  120

    一、工具类代码

    二、应用实例

    一、工具类代码如下:

    import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import java.util.List; /** * @function: list获取分页工具类 * @auther: Create by lsy * @version: v1.0 */ public class PageUtil { /** * 传入page limit list * * @param page * @param limit * @param resultList * @return */ public static Page getPage(Integer page, Integer limit, List resultList) { //获取pageable的参数的页码,从1开始 int pageNo = page; //获取pageable的页显示大小 int pageSize = limit; int fromIndex = pageSize * (pageNo - 1); int toIndex = pageSize * pageNo; if (toIndex > resultList.size()) { toIndex = resultList.size(); } if (fromIndex > toIndex) { fromIndex = toIndex; } //获取list的分页集合 List result = resultList.subList(fromIndex, toIndex); //创建page对象,并且可以排序 Page pageResult = new PageImpl(result, new PageRequest(pageNo - 1, pageSize), resultList.size()); return pageResult; } }

    使用实例: 查询mysql,传入limit,page,list。返回分页结果。 代码如下:

    public Page findPageByDate(String startDate, String endDate, Integer limit, Integer page, String type) { if (page == null || page < 1) { page = 1; } if (limit == null || limit < 0) { limit = 10; } //这里省略了mysql的查询语句,返回结果是list,直接放到工具类里面即可。 List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); Page pageResult = PageUtil.getPage(page, limit, list); return pageResult; }
    最新回复(0)