已知总记录数(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 分页通用公式?

SQL示例

SELECT username, age, sex
FROM user_table
LIMIT (curretPage - 1) * pageSize, pageSize

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐