怎么用Java实现分页查询功能


这篇文章主要介绍了怎么用Java实现分页查询功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Java实现分页查询功能文章都会有所收获,下面我们一起来看看吧。分页查询将数据库中庞大的数据分段显示,每页显示用户自定义的行数,提高用户体验度,最主要的是如果一次性从服务器磁盘中读出全部数据到内存,有内存溢出的风险假分页: 其原理还是将所有的数据读到内存中,翻页从内存中读取数据, 优点: 实现简单,性能高 缺点:如果数据大容易造成内存溢出
真分页: 每次翻页从数据库查询数据(即磁盘) , 优点 : 不容易造成内存溢出 缺点: 实现复杂,性能相对低一些一般分页的功能包括: 首页 上一页 下一页 末页 当前是多少页 总共多少页 一共多少行数据 跳转到第几页 每页多少条数据 我们需要将这个数据查询出来封装到一个对象中,体现了封装思想,也节省了很多复杂代码分页需要传递的参数需要用户传入的参数:
currentPage: 当前页,跳转到第几页, 第一次访问,我们创建一个对象,默认值是1
pageSize: 每页显示多少行数据, 第一次我们也给个默认值 比如10条分页需要展示的数据1.当前页的货品信息
2.首页是第几页
3.上一页是第几页
4.下一页是第几页
5.一共有多少页,和末页的值是一样的
6.数据一共有多少条(行)
7.当前是第几页
8.每页显示多少条信息分页需要展示的数据的来源来源于用户上传: 当前页 , 每页显示多少条数据
来源于数据库查询 : 数据总条数 , 每一页需要展示的商品信息
来源于根据上面的已知信息计算 : 总页数 , 上一页 , 下一页书写从数据库查询的sql语句第一条sql 查询数据库中有多少条数据,COUNT后面不能有空格第二条sql 根据传入的参数查询第几页,一页多少条数据的结果集接下来分析第二条 SQL 中两个 ? 取值来源:
假设 product 表中有 21 条数据,每页分 5 条数据:
查询第一页数据:SELECT * FROM product LIMIT 0, 5
查询第二页数据:SELECT * FROM product LIMIT 5, 5
查询第三页数据:SELECT * FROM product LIMIT 10, 5
查询第四页数据:SELECT * FROM product LIMIT 15, 5
通过寻找规律发现:第一个 ? 取值来源于 (currentPage – 1) * pageSize;第二个 ? 取值来源于
pageSize,即都来源于用户传递的分页参数。总页数,上一页和下一页分页查询实现访问流程:封装需要展示的数据如果不封装数据,每个数据都需要存到作用域中,数据太分散,不方便统一管理持久层DAOMybatis提供的操作方法只能传入一个参数执行SQL任务,而我们现在查询某一页的数据,需要知道是第几页和每页多少条数据这两个参数,所以我们需要将这两个参数封装在一个对象里面
编写一个类(起名叫查询对象类)来封装这些查询数据再书写持久层DAO接口和实现类修改productMapper.xml修改QueryObject.java给这个类增加getStart方法,返回根据当前页,每页大小需要从数据库从第几行开始显示业务层ProductService调用持久层DAO完成数据的查询,并将多个数据封装到一个对象中前台分页功能实现1.必须先完成业务层组件,保证后台测试通过。
2.遵循 MVC 思想。
3.浏览器发出分页请求参数(去往第几页/每页多少条数据),在 Servlet 中接收这些参数,并封装
4.到 QueryObject 对象,调用 Service 中分页查询方法(query)。
5.把得到的分页查询结果对象(PageResult)共享在请求作用域中,跳转到 JSP,显示即可。
6.修改 JSP 页面,编写出分页条信息(分页条中的信息来源于 PageResult 对象)。修改免费云主机域名ProductServlet.java和展示jsp1.获取页面请求参数,判断是查询操作,调用查询方法,获取分页参数
2.将参数封装成查询对象QueryObject
3.调用业务层方法查询某一页数据
4.将查询出来的结果存到作用域中
5.转发到展示页面jsp
6.在jsp从作用域中将结果取出来响应到浏览器修改jsp文件,使用JSTL+EL获取作用域中的数据常见问题若开始翻页操作成功,翻了几页不能翻了,只能重启tomcat才能翻,问题: DAO中没有关闭SqlSession对象关于“怎么用Java实现分页查询功能”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么用Java实现分页查询功能”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: 微信小程序如何实现数字滚动动画

本文小编为大家详细介绍“微信小程序如何实现数字滚动动画”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序如何实现数字滚动动画”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、为了实现数字的无限滚动效果,每个数字框的内部,其实…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 03/30 14:59
Next 03/30 14:59

相关推荐