`

后台分页思路

    博客分类:
  • java
阅读更多
总结一下后台分页的思路。
只要获取到一个结果集(List)和总记录数就可以了。这样就可以计算出当前页,总页数,上一页,下一页等。

引用

wuhuajun 写道
楼主的意思是全部加在到内存再分页,不然怎么会把内存吃光。。。



不是全部加到内存啊。我用的是mysql,select xxxxx from talbe where whereSql limit ?,?
难道这样会全部加到内存里分页吗?
分享到:
评论
35 楼 csslisi 2011-04-13  
现项目实现的基本思路是把分页包在框架里 通过公用js与ThreadLocal传递分页参数 然后通过不同数据库的实现 生成不同的SQL查询语句
34 楼 rolenz 2011-04-13  
hh161151 写道
rolenz 写道
想问一下, select * from table where in(ids),其中IDs为500+,这样的需求有没有好的分页方法

这个ids应该有个规律吧?比如什么个范围,不然有这种需求吗。

没有规律
有这种需求。。。。
33 楼 storm_code 2011-04-13  
lydawen 写道
wuhuajun 写道
楼主的意思是全部加在到内存再分页,不然怎么会把内存吃光。。。

那楼主就不会提获取总记录数了,直接 list.size()

那list.size()的前提不是得先有list,多少年的话题了。
32 楼 hh161151 2011-04-13  
rolenz 写道
想问一下, select * from table where in(ids),其中IDs为500+,这样的需求有没有好的分页方法

这个ids应该有个规律吧?比如什么个范围,不然有这种需求吗。
31 楼 back_888888 2011-04-12  
PaginatedList re=sqlMapper.queryForPaginatedList("ibatis中sql模块的id值", 传入对应的参数,每页显示多少行数据); 三个参数就能搞定,可以试试,应该不会耗尽内存,多谢指教。
30 楼 xiaoyuqi00 2011-04-12  
无聊的帖子,这都能上首页。。。
29 楼 sniciq 2011-04-12  
什么年代了,还讨论分页!前台传{页显示记录数pageSize,记录开始位置start},后台两次查询,第一次查询总记录数{select count(1) from ...},第二次查询记录集{select * from ... where .. limit start,pageSize},这是MySql的查询方法!SqlServer和Orcale的分查询方法自己找去!注意:SqlServer2000不提供分页查询方法,2005和2008的要页查询方法很好用!
28 楼 chwanga 2011-04-12  
楼上正解!
27 楼 hyneng 2011-04-12  
lyl290932857 写道
seyaa 写道
算出 要分页的所有符合条件数据总数  传过来 一个 pageNo和一个pageSize  计算出 分页的起始点和结束点 得到要取得的数据 就ok了 全部加载到内存 数据太多就会有问题的


楼主的意思是 结果集List只是当前页需要显示的结果集,不过楼主他怎么通过总记录数获取当前是第几页?

你有总页数,有每页大小,难道“通过总记录数获取当前是第几页”难吗?
26 楼 hyneng 2011-04-12  
红旗无风不飘 写道
楼主好像完全没有搞懂分页是怎么回事吧


那你觉得分页是怎么回事呢?
25 楼 lyl290932857 2011-04-12  
seyaa 写道
算出 要分页的所有符合条件数据总数  传过来 一个 pageNo和一个pageSize  计算出 分页的起始点和结束点 得到要取得的数据 就ok了 全部加载到内存 数据太多就会有问题的


楼主的意思是 结果集List只是当前页需要显示的结果集,不过楼主他怎么通过总记录数获取当前是第几页?
24 楼 longyunyinxue 2011-04-12  
对于数据量小的 不支持limit的这不是个很好的方法吗
23 楼 红旗无风不飘 2011-04-12  
楼主好像完全没有搞懂分页是怎么回事吧
22 楼 被java残害的灵魂 2011-04-12  
无根V稻草 写道
LZ你的代码貌似没有提取总条数吧

select count(*) from talbe where ......
先用上面的方式提取总共的记录数







还是用 select count(1) from table where ......这样能快一点
21 楼 无根V稻草 2011-04-12  
LZ你的代码貌似没有提取总条数吧

select count(*) from talbe where ......
先用上面的方式提取总共的记录数
20 楼 weibawoaini 2011-04-12  
如果pageSize过大的情况下,前台处理不当可能会有浏览器假死的现象
19 楼 heyongyin 2011-04-11  
把数据的标识字段查询出来。然后再内存分页,然后在按照分页再查询具体的数据。
18 楼 hyneng 2011-04-11  
huangfoxAgain 写道
看来楼主描述不清楚啊~ 都认为是一次性取出数据了~

是啊,大家都没搞清楚,就批判了
17 楼 huangfoxAgain 2011-04-11  
看来楼主描述不清楚啊~ 都认为是一次性取出数据了~
16 楼 悲剧了 2011-04-11  
一般分页最后都是静态页面,哪有那么多的查询。如果数据是实时变化的,那么后台在一定时间内利用freemarker等模板技术自动静态话,减少查询。

相关推荐

    java web常用到的ajax分页思路

    这篇博客“java web常用到的ajax分页思路”可能就是探讨如何结合Ajax与后端技术实现高效、动态的分页。 在传统的Web应用中,用户每次点击分页按钮,整个页面都会重新加载。而使用Ajax,我们可以在后台获取新的分页...

    超简单实用的PHP操作MYSQL数据库类 与分页思路

    分页是当数据量过大时,为了提高用户体验和网站性能而采用的一种策略。`fy.php`可能是实现分页功能的脚本。分页的基本步骤包括: 1. **计算总页数**:根据查询结果中的记录总数和每页显示的记录数来计算。 2. **...

    Java实现分页的前台页面和后台代码

    Java实现分页的前台页面和后台代码 Java实现分页的前台页面和后台代码是指使用Java语言开发的分页功能,包括前台页面的设计和后台代码的实现。下面是对Java实现分页的前台页面和后台代码的详细介绍。 一、前台页面...

    easyUI 实现的后台分页与前台显示功能示例

    后台分页的基本思路是在服务器端进行数据处理,根据前端传来的页码和每页大小来决定 SQL 查询的数据范围。这样可以显著减少数据传输量,提高页面加载速度。在本示例中,使用了 `pageNumber` 表示当前页码,`...

    jsp servlet javaBean后台分页实例代码解析

    1. **分页思路** 后台分页的基本思想是:先从数据库获取所有需要分页的数据,将其存储在一个List集合中,然后根据用户请求的页码,利用List的`subList()`方法对集合进行切割,只将当前页所需的数据传递给前端展示。 ...

    JSP +分页技术+JSP经典分页代码+servlet +分页

    在IT行业中,分页技术是Web开发中不可或缺的一部分,特别是在处理大数据量的展示时,它能够提高用户体验,...通过深入理解这个经典案例,你可以了解到分页实现的基本思路和最佳实践,为自己的项目开发提供有力的支持。

    .net 类的JQuery分页.net 类的JQuery分页

    总的来说,这个项目展示了如何在.NET环境中利用jQuery实现客户端分页,并通过自定义的服务器端处理程序(Handler)和后台代码处理分页请求,有效地分发和加载数据。同时,配置文件、HTML页面、CSS样式和JavaScript...

    PHP自动适应范围的页码分页程序

    本文将详细解析一个PHP自适应范围页码分页程序的设计思路与实现细节,帮助读者理解并掌握其核心原理。 #### 程序背景与目标 在浏览具有大量数据的网页时(如论坛、博客等),传统的分页显示可能会导致页码过多,...

    存储过程写的分页方便 只需要传参 就行

    下面将详细介绍其设计思路、参数含义及实现细节。 ##### 参数定义 - **@Tables**: 数据表名,支持多表联合查询。 - **@PrimaryKey**: 主键字段名,用于排序。 - **@Sort**: 排序字段,默认为主键字段。 - **@...

    java 分页、批量删除

    1. **基础原理**:分页的基本思路是通过SQL查询获取当前页的数据,通常会使用LIMIT或OFFSET关键字来限制返回的记录数。配合着页码和每页记录数,可以计算出要查询的范围。 2. **实现方式**:在JSP中,通常会创建一...

    WPF自定义分页控件

    3. **事件处理**:在后台代码中实现事件处理逻辑。例如,`PageButton_Click`事件处理程序可以更新当前页数,然后触发数据刷新事件。 4. **数据绑定**:使用MVVM(Model-View-ViewModel)模式,将控件的属性绑定到...

    android listview分页查询显示

    分页查询的基本思路是:初次加载时显示前10条数据,当用户滚动到ListView底部(上拉加载)时,触发加载更多的数据。为了实现这一功能,我们需要监听ListView的滚动事件,通常可以通过OnScrollListener接口来实现。在...

    java+servelt+mysql实现简单分页

    网上的分页代码有很多,但是发现许多实例都把数据放到前台处理,后来参考了大神的意见,决定使用后台sql分页代替前台处理。 主要的思路是分为前台和后台,前台主要用html+js+jquery实现,后台采用了jdbc+servelt+...

    asp.net access数据库分页

    分页查询的基本思路是在后台服务器上执行SQL语句,限制返回的数据量,然后在前端展示相应的页面。在Access数据库中,由于不直接支持像SQL Server那样的TOP或LIMIT关键字进行分页,我们需要利用ORDER BY和子查询来...

    winform 分页程序带源码

    - 编写后台代码,处理按钮的Click事件,实现数据的分页加载。 3. **源码解析**: - 假设我们有一个名为`LoadDataByPage`的方法,接收页码(PageIndex)和页大小(PageSize)作为参数,从数据库查询相应数据。 - ...

    jquery分页插件

    《jQuery分页插件详解与应用实践》 在网页开发中,数据的展示往往需要进行分页处理,以便用户能够更有效地浏览大量信息。...在实际应用中,合理配置参数,结合后台数据处理,可以构建出用户体验良好的分页系统。

    查询数据分页的实现

    在IT行业中,数据分页是常见的用户界面设计技术...但基本思路就是前端与后端的协同工作,前端控制分页界面,后端负责根据前端传递的参数执行合适的SQL查询。通过这种方式,我们可以有效地管理和呈现大量的数据库数据。

    jsp+javabean分页

    在Java Web开发中,"jsp+javabean分页"是一个常见的需求,特别是在处理大量数据时,为了提高页面加载速度和用户...在实际开发中,可能还需要考虑其他因素,如分页样式、查询性能优化、动态加载等,但基础思路就是这样。

    vue实现分页栏效果

    在现代Web开发中,尤其是涉及数据管理的应用程序,分页功能几乎成为必不可少的一部分。使用Vue.js框架来实现分页栏效果可以大大提高用户体验。...但总体上,以上提供的核心思路和方法可以作为实现Vue分页栏效果的基础。

Global site tag (gtag.js) - Google Analytics