目录
分页查询
1.分页优点:
数据清晰直观
不受数据量限制
页面不再冗长
2.分页如何实现:
解决方案:每次翻页的时候只从数据库里检索出本页需要的数据
3.分页查询步骤:
计算显示数据的总数量
确定每页显示的数据量
计算显示的页数
页数=总数量/每页显示的数据量[+1]
编写分页查询SQL语句
实现分页查询
4.分页查询关键点
计算显示数据的总数量需要借助JDBC内容
计算页数时,声明一个工具类将功能独立出来,便于复用
总记录数/每页显示的记录数
整除:总页数=总记录数/每页显示记录数
不能整除:总页数=总记录数/每页显示记录数+1
编写分页查询SQL语句(limit)
select * from tableName where 查询条件
limit (当前页码-1)*页面容量, 页面容量
分页显示
1.分页显示
使用JSP分页显示数据
2.分页显示关键点
确定当前页
设置首页、上一页、下一页、末页的页码
还要对可能出现的异常进行控制
首页与末页的控制
3.传递分页页码
表单隐藏域传递页码
总结
理解分页功能的实现流程及控制点
确定符合展示条件的数据总量
确定分页显示的总页数
(总条数%页面容量==0) ?
总条数/页面容量 : 总条数/页面容量+1
编写分页查询SQL语句
limit (当前页码 - 1) x 页面容量 , 页面容量
在JSP页面中进行分页显示设置,注意控制页码边界
使用JavaBean封装相关数据
分页的分类
1、假分页
【简介】: 一次性查询所有数据存入内存,翻页从内存中获取数据。
【优点】: 实现简单,性能高。
【缺点】: 一旦数据量过大,会造成[内存泄漏]
2、真分页
【介绍】: 每次翻页都是从数据库中查询数据。
【优点】: 不容易造成内存溢出。
【缺点】: 实现复杂,性能相对较低。
分页查询设计
1、分页查询需要传递的参数
-
currentPage:当前页,跳转到第几页,int类型,需要设置默认值,一般为1
-
pageSize:每页最多显示多少条数据。int 类型,需要设置默认值,一般为5、10、等。
2、分页需要展示的数据
-
展示当前页得货品信息
-
分页条的信息
-
beginPage:首页
-
prevPage:上一页
-
nextPage:下一页
-
totalPage:总页数/末页
-
totalCount/rows:总条数
-
currentPage:当前页
-
pageSize:每页显示多少条数据
-
3、分页需要展示的数据来源
-
来源于用户传入
-
currentPage:当前页,跳转到第几页,int类型,需要设置默认值,一般为1。
-
pageSize:每页最多显示多少条数据。int 类型,需要设置默认值,一般为5、10、等。
-
-
来源于两条sql的查询
-
totalCount/rows:总条数 int类型
-
data/list:每一页的结果集数据,List类型
-
-
来源于程序计算
-
totalPage:总页数/末页
-
prevPage:上一页
-
nextPage:下一页
-
4、结果总条数和结果集
-
totalCount/rows:总条数
-
data/list:每一页的结果集数据
5、总页数、上一页、下一页
int totalPage = rows % pagesize == 0 ? rows / pagesize : rows / pagesize + 1;
//优先计算
int prevPage = currentPage - 1 >= 1 ? currentPage - 1 : 1;
int nextPage = currentPage + 1 <= tota7Page ? currentPage + 1 : totalPage;