Java 分页的实现原理主要围绕数据库查询优化和前后端参数传递展开,核心是通过限制每次查询的数据量,提升性能和用户体验。以下是分页实现的关键步骤和原理:
1. 分页的核心参数
- pageNum: 当前页码(从1开始或从0开始,根据业务定)
- pageSize: 每页显示的记录数(如10、20条)
- total: 总记录数(用于计算总页数)
- pages: 总页数(通过
total / pageSize
向上取整)
2. 数据库分页查询
通过 SQL 的 LIMIT 和 OFFSET 关键字(不同数据库语法不同)实现物理分页:
- MySQL:
LIMIT pageSize OFFSET offset
- Oracle:
ROWNUM
结合子查询 - SQL Server:
OFFSET ... FETCH
公式:
SELECT * FROM table ORDER BY create_time DESC LIMIT #{pageSize} OFFSE