分页技术实现
数据库第一条数据索引0
1、逻辑分页:假如数据库有100条记录,每页显示10条,显示第三页 -------- 一次性查询100条 List,通过subList截取出 20-29条
2、物理分页:假如数据库有100条记录,每页显示10条,显示第三页 -------- 从数据库只查询20-29条数据
逻辑分页和物理分页的区别?
逻辑分页一次性加载数据,下次查询时,还需要查询数据库吗?
物理分页,每次操作量差不多的 ---- AJAX配合使用
** 物理分页对于SQL 有强烈依赖,不同数据库物理分页的写法不同
Mysql这种写法不适用于Oracle
limit start,len
在企业中分页类的设计
class Page{
// 输入
int perSize; // 每页多少条
int currentPage; //当前第几页
// 输入参数中应该还有一个条件字段
// 输出
int totalCount; // 总记录条数
int totalPage; // 总页数 = totalCount+perSize-1/perSize 判断
List data; // 分页数据
}
<a href="xxx?currentPage= ${currentPage-1}"/>上一页
<a href="xxx?currentPage= ${currentPage+1}"/>下一页
for(int i= currentPage-10; i<currentPage+10;i++){
<a href="xxx?currentPage= ${i}"/>i
}