`

后台分页思路

    博客分类:
  • 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等模板技术自动静态话,减少查询。

相关推荐

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

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

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

    首先后台分页需要理清分页思路,把数据库里面需要分页的信息放到List集合中,然后按照页面反馈给后台的页码对List集合进行SubList切割把切完的List传到前端进行显示。 1.分页的demo文件结构图 导入的包 2.代码 ...

    java+servelt+mysql实现简单分页

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

    jQuery实现分页功能(含ajax请求、后台数据、附完整demo)

    实现思路 也是分为三部分处理  1)点击首页,末页直接显示第一页或者最后一页内容,当前页面为第1页或者最后一页。隐藏首页或者末页按钮。demo 显示截图  首页状态 和 末页状态代码执行结果截图    2)点击可视...

    简易留言版毕业设计说明书

    留言版后台可以实现分页,管理员可以对任何留言进行编辑、删除,用户可以对自己的留言进行编辑、删除 3、设计步骤 1)新建数据库 2)添加表,建立表之间的关系 3)给表中添加信息 二:设计留言版前台页面 1)留言版...

    基于Angularjs实现分页功能

    学习任何一门语言前肯定是有业务需求来驱动你去学习它,当然ng也不例外,在学习ng前我第一个想做的demo就是基于ng实现分页,除去基本的计算思路外就是使用指令封装成一个插件,在需要分页的列表页面内直接引用。...

    ASP无组件分页实现思路及代码

    MVC下: 后台代码: 代码如下: public ActionResult sys(string page) { if (page == null) { string sql = “select top 15 * from dingdinfo ORDER BY dingdh desc”; ViewData[“ds”] = dr.resultSet(sql, ...

    利用vue + element实现表格分页和前端搜索的方法

    前言 ElementUI是饿了么前端开源的一个基于Vue的前端框架,已经帮我们封装好了一系列功能性的组件,...1.前端后台管理会存在很多表格,表格数据过多就需要分页; 2.前端交互每次搜索如果都请求服务器会加大服务器的压力

    js实现翻页后保持checkbox选中状态的实现方法

    项目中的分页使用真分页,每次点击上下页按钮后,再次调用后台方法查询,重新刷新此页面。所以checkbox为false。 比如酷狗音乐中,上下页选中的歌曲不会保留,只能在每页中选择添加后,再切换下页。 但是项目中有着...

    React 全自动数据表格组件——BodeGrid的实现思路

    表格是在后台管理系统中用的最频繁的组件之一,相关的功能有数据的新增和编辑、查询、排序、分页、自定义显示以及一些操作按钮。我们逐一深入进行探讨以及介绍我的设计思路: 表格是在后台管理系统中用的最频繁的...

    基于ASP.NET MVC项目源码完整下载(含Aspose.Cells、Aspose.Words、NPOI、MvcPaper及在线预览Word、Excel等文档

    基于ASP.NET MVC框架的学习项目,包含MVC的框架的设计思路,通俗易懂学习MVC框架,项目中包含NPOI控件的使用方法(优点:导出几万条数据几秒即可下载下来)以及NPOI导出Excel表到数据库,Aspose.Cells的使用(导入、...

    WODECMS开源内容管理系统 v1.1.zip

    其开发框架设计思路借鉴了java的struts和hibernate框架的一些思路研发的一套ORM PHP开发框架。具有高效,安全,简单的特点。 我的CMS设计上尽量简单,不为了追求某种"高大上"的技术解决方案而无计划的采纳和叠加,只...

    Smile企业费用管理系统源码 v1.0

    5、关于分页新手也是很热乎这方面的,里面有2种分页样式,一个是这个后台框架本身设计配套,还有一个是我从淘宝客的后台偷下来的(用着蛮贴切的),样式表是css文件夹下的custompagebar.css;逻辑代码都写好了,自行...

    基于SSM的米米商城的设计与实现

    5.利用SSM框架搭建后台系统; —————————————————————————————————— 实现的功能 1、使用SSM框架搭建 2、使用数据库连接池技术,使用mybatis框架完成底层实体类的创建和数据访问层...

    Smile企业费用管理系统源码 v1.0.zip

    5、关于分页新手也是很热乎这方面的,里面有2种分页样式,一个是这个后台框架本身设计配套,还有一个是我从淘宝客的后台偷下来的(用着蛮贴切的),样式表是css文件夹下的custompagebar.css;逻辑代码都写好了,自行...

    基于vue SpringBoot MyBatis的音乐网站.rar

    实现思路可以看;项目启动方法看文章末尾。 可直接运行 项目功能 音乐播放 用户登录注册 用户信息编辑、头像修改 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 歌单列表、歌手列表分页显示 歌词同步显示 音乐收藏、...

    在Laravel中实现使用AJAX动态刷新部分页面

    AJAX相信大家都不陌生,有很多不同的Javascript Frameworks可以用来快速实现AJAX功能。... 这里我使用的是jQuery + Laravel(当然如果使用了其他框架,基本的...要实现这样的功能,我们的基本思路如下(MVC Pattern):

    深度学习(asp.Net)留言板源码(c#)v0.1.0

    新升级版本依然贯彻asp程序员迅速掌握asp.Net的思路,但功能完善,完整的留言板功能都具备了,可以对照前一版本,相信可以更快的学通asp.Net。 程序名称: 深度学习(asp.Net)留言板 v0.1.0 软件类别: asp.Net源码...

    XmxCms企业网站管理系统 v1.0

    分页控件采用的是:AspNetPager、网页编辑器采用的是:DotNetTextBox 开发环境:VS2008+Access 后台登陆用户名/密码均为:admin 该源码思路清晰,实用性强 作者求职主页:http://xiaonei.com/xumingxiang 作者:徐...

Global site tag (gtag.js) - Google Analytics