专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 javaweb分页显示怎样操作

javaweb分页显示怎样操作

更新时间:2020-10-20 17:05:26 来源:动力节点 浏览1217次

相信大家在学习javaweb时,会遇到需要分页显示的情况。当数据量太多,又同时显示在一个页面的话,不仅可能会造成内存溢出,还会影响到用户体验,这个时候就需要实现javaweb分页显示的功能了。那么javaweb分页显示该怎样实现,怎么操作呢?


分页功能在网页中是非常常见的一个功能,其作用也就是将数据分割成多个页面来进行显示,下面给出两个javaweb分页显示方法。


一、借助数组进行分页

原理:进行数据库查询操作时,获取到数据库中所有满足条件的记录,保存在应用的临时数组中,再通过List的subList方法,获取到满足条件的所有记录。

实现:首先在dao层,创建StudentMapper接口,用于对数据库的操作。在接口中定义通过数组分页的查询方法,如下所示:

image.png

方法很简单,就是获取所有的数据,通过list接收后进行分页操作。创建StudentMapper.xml文件,编写查询的sql语句:

image.png


可以看出再编写sql语句的时候,我们并没有作任何分页的相关操作。这里是查询到所有的学生信息。接下来在service层获取数据并且进行分页实现,定义IStuService接口,并且定义分页方法:

ListqueryStudentsByArray(int currPage, int pageSize);

通过接收currPage参数表示显示第几页的数据,pageSize表示每页显示的数据条数。创建IStuService接口实现类StuServiceIml对方法进行实现,对获取到的数组通过currPage和pageSize进行分页:

image.png


通过subList方法,获取到两个索引间的所有数据。这种方法实现javaweb分页操作的缺点:数据库查询并返回所有的数据,而我们需要的只是极少数符合要求的数据。当数据量少时,还可以接受。当数据库数据量过大时,每次查询对数据库和程序的性能都会产生极大的影响。


二、借助Sql语句进行分页

在了解到通过数组分页的缺陷后,我们发现不能每次都对数据库中的所有数据都检索。然后在程序中对获取到的大量数据进行二次操作,这样对空间和性能都是极大的损耗。所以我们希望能直接在数据库语言中只检索符合条件的记录,不需要在通过程序对其作处理。这时,Sql语句来实现javaweb分页技术。


实现:通过sql语句实现分页也是非常简单的,只是需要改变我们查询的语句就能实现了,即在sql语句后面添加limit分页语句。首先还是在StudentMapper接口中添加sql语句查询的方法,如下:

image.png

然后在StudentMapper.xml文件中编写sql语句通过limiy关键字进行分页:

image.png

接下来还是在IStuService接口中定义方法,并且在StuServiceIml中对sql分页实现。sql分页语句如下:

image.png


所以在service中计算出currIndex:要开始查询的第一条记录的索引。结果:从输出结果可以看出和数组分页的结果是一致的,因此sql语句的分页也是没问题的。

用SQL语句来进行javaweb分页显示的缺点:虽然这里实现了按需查找,每次检索得到的是指定的数据。但是每次在分页的时候都需要去编写limit语句,很冗余。而且不方便统一管理,维护性较差。


这两种javaweb分页显示实现方法是需要大家掌握的,但分页显示的方法不止借助数组和SQL语句,还可以用拦截器实现,大家可以在javaweb教程中学习到所有分页显示的方法,并加以练习,相信朋友们都可以掌握javaweb的相关技能。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>