网页制作实现分页显示 第1篇
分页功能交给前端实现的这里就不展示了,比较我们标题是后端实现分页功能。
sql语句
Dao层(也可以叫Mapper层)
Service实现层
PageRequest
UserRequest
PageResponse
我这边只返回给前端查询的某页数据、和一共多少条数据,如果前端需要知道可以分多少页,需要前端自己计算一下,当然后端其实也可以计算,只需要添加一个参数和一个方法。
Controller层
运行结果
先看一下List的截取
回归上述分页例子,代码改成如下:
dao层 不加 limit 条件
server层
这是一个特别好用的分页插件。
其实PageHelper官网中有详细的文档以及例子:
下面例子只是讲其与springboot结合的核心内容,即快速开发:
引入相关jar包坐标到中
配置项目文件
前端所需要的数据就是数据库中表的数据
dao层的sql不需要加 Limit 条件(因为PageHelper会自动帮忙加的)
service层修改如下
结果如下(与之前查询结果一致,没问题)
前端所需要的数据不只是数据库中表的数据,还有一些需要Java代码逻辑计算得到的数据。那么上面的((), ());就失效了。
这是通过PageHelp插件中的PageInfo类和List中的subList()方法实现的,其实一般这种情况用的也是比较多的。
为什么说该插件很优秀呢,查看PageInfo的返回参数,核心内容:
查看PageHelper执行了什么sql语句
Spring整合:导入
配置项目配置文件(我在spring和mybatis整合的配置文件中配置的,如果在mybatis核心配置文件中配置,百度一下)
以上就是Java实现分页的几种方式,希望对你有所帮助,如果有其它方式可以在评论区留言!!!
参考文章:java中实现分页的常见几种方式_java 分页-CSDN博客
网页制作实现分页显示 第2篇
网页制作实现分页显示 第3篇
这种情况也是有的,(根据业务场景且仅仅只能用于数据量少的情况)。即后端不做任何数据的限制,直接把全部数据返回给前端,前端通过组件实现分页,筛选等功能。请不要轻视该方式,好处即只需要前后端交互一次。
即给搜索语句加上条件,限制查询出来的数据个数。(这里不同数据库可能sql语句写法不一样)
oracle的可以查看这篇文章:oracle中将数据进行排序之后,获取前几行数据的写法(rownum、fetch方式)
即将数据都查到内存中List集合,在内存中找到要的数据。当然有人说这种方式还不如第二点,但请具体情况具体分析,有可能需求要的数据,是从数据库中查询不到的,需要将原始数据查到内存加工处理数据之后得到,才能进行分页处理。(同理,该方法,只能根据需求且数据量少的情况)。
使用优秀的插件PageHelper,真的很不错。
如果想详细了解PageHelper插件的,可以访问:如何使用分页插件
SpringData我还没用过,这里就不展开详细说明了,后期如果业务使用到了,会更新到这篇文章。