【常用算法】java实现三种分页算法

已知总记录数(totalCount)和每页显示的数量(pageSize)
求总页数(pageCount)为多少?

算法1

public int getPageCount(int totalCount, int pageSize) {
	return (totalCount -1) / pageSize + 1;
}

算法2 最容易理解

public int getPageCount(int totalCount, int pageSize) {
	return totalCount % pageSize == 0 ? totalCount / pageSize : (totalCount / pageSize + 1);
}

算法3 大数据时存在溢出的隐患

public int getPageCount(int totalCount, int pageSize) {
	return (totalCount + pageSize -1) / pageSize;
}
  • 算法1和算法3可相互转化,本质是同一回事

使用当前页码(currentPage)和每页显示的数量(pageSize)
limit 分页通用公式?

示例

SELECT username, age, sex
FROM user_table
LIMIT (curretPage - 1) * pageSize, pageSize
发布了105 篇原创文章 · 获赞 46 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/AV_woaijava/article/details/104437283