您的位置 首页 > 娱乐休闲

Java开发中的分页

查询数据库时,如果满足条件的记录很多,该如何返回给页面?

1.客户端分页

同样地,使用html/javascript等技术处理。甚至可以封装成组件

2.服务器端分页

非常重要的,在实际项目中非常需要————性能问题。

这需要结合JDBC/Hibernate/TopLink/EJB等技术实现。

查询分页

1)一次性从数据库中查出所有信息,在内存中作分页(缓存)

特点:速度非常快,消耗资源大(内存?)

2)分多次查询数据库,一次查询的数据量就是一个页面可以显示的数据量

特点:消耗资源少,相对来说速度慢

3)折衷的方案(一次只取n页,1<n<总页数)(部分缓存)

特点:中庸之道(实现中,置换算法教难)

常见的分页处理方法:定义如下几个参数

rows:数据库表中记录总行数 select count(*) from 表名;

size:每页显示的记录数目 可定制,可写死

totalPage:总页数 (导出属性:可以由其他属性计算而得) int totalPage = (rows-1) / size + 1; 这个公式可以考虑了整除与否

curPageNo:当前页, 客户端决定 ,默认是1

startRowNo:当前页在数据库中的起始行号(导出属性) int startRowNo = (curPageNo -1 ) * size;

jsp页面一般都有:[首页]【上一页】1 2 3 4 5 6 7 8 9 10【下一页】[尾页]

后台需要知道的就是从数据库的第几行开始取,取多少行?(也就是startRowNo和size)

startRow可以通过用户点击的数字和size计算出来,这样后台只需要这两个参数就可以了

这样后台就能查到所需要的数据集,返回给前台显示

Hiberante中经常有如下语句:

query.setFirstResult((nowPage - 1) * pageSize);

query.setMaxResults(pageSize);

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“js如何分页,js如何实现分页,js前端分页,js分页代码”边界阅读