java使用PageInfo的list通用分頁處理demo
更新時(shí)間:2023年12月24日 14:47:21 作者:蠶1蠶2
這篇文章主要為大家介紹了java使用PageInfo的list通用分頁處理demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
處理接口返回?cái)?shù)據(jù), 獲取分頁后的數(shù)據(jù)列表
/**
*
* @param list 待分頁數(shù)據(jù)列表
* @param pageNum 頁碼
* @param pageSize 頁面數(shù)量
* @return com.github.pagehelper.PageInfo
* @author chengxianwei
* @date 2023/1/12
*/
public static <T> PageInfo startPageList(List<T> list, Integer pageNum, Integer pageSize) {
// 總條數(shù)
int total = list.size();
// 頁大小
int size = pageNum * pageSize;
// 總頁數(shù) 總條數(shù) 取模 頁大小
int pages = total % size == 0 ? total / size : total / size + 1;
// 結(jié)束索引 頁大小大于總條數(shù)時(shí),為總條數(shù), 否則為頁大小
int toIndex = size > total ? total : size;
// 開始索引
int fromIndex = (pageNum - 1) * pageSize;
if (fromIndex > toIndex) {
fromIndex = 1;
}
// 截取數(shù)據(jù)
List<T> dataList = list.subList(fromIndex, toIndex);
// 分頁數(shù)據(jù)
PageInfo<T> pageInfo = new PageInfo<>(list);
pageInfo.setTotal(total);
pageInfo.setPages(pages);
pageInfo.setPageNum(pageNum);
pageInfo.setPageSize(pageSize);
pageInfo.setList(dataList);
return pageInfo;
}以上就是java使用PageInfo的list通用分頁處理demo的詳細(xì)內(nèi)容,更多關(guān)于java PageInfo list分頁處理的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java代碼實(shí)現(xiàn)對比分析對象是否有變化
在項(xiàng)目中大家應(yīng)該遇到過這種問題,需要分析對象是否發(fā)生變化,發(fā)生變化后,具體是哪個(gè)字段發(fā)生變化,本文為大家整理了一些方法,希望對大家有所幫助2026-04-04
Springboot整合logback多節(jié)點(diǎn)日志文件加端口號區(qū)分的操作方法
這篇文章主要介紹了Springboot整合logback多節(jié)點(diǎn)日志文件加端口號區(qū)分的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
關(guān)于Hibernate的一些學(xué)習(xí)心得總結(jié)
Hibernate是一個(gè)優(yōu)秀的Java 持久化層解決方案,是當(dāng)今主流的對象—關(guān)系映射(ORM)工具2013-07-07

