mongo数据库下和mybatis下的后端分页操作

1.Mongo 数据库下的后端分页操作

(1)对数据库查询数据直接进行分页分装:

  • Pageable 是Spring Data库中定义的一个接口,该接口是所有分页相关信息的一个抽象,通过该接口,我们可以得到和分页相关所有信息(例如pageNumberpageSize等),这样,Jpa就能够通过pageable参数来得到一个带分页信息的Sql语句。
  • Page类也是Spring Data提供的一个接口,该接口表示一部分数据的集合以及其相关的下一部分数据、数据总数等相关信息,通过该接口,我们可以得到数据的总体信息(数据总数、总页数...)以及当前数据的信息(当前数据的集合、当前页数等)

一般我们会现在当前类中导入Pageable以及Page接口

import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Page;

现在我们看看该Pageable接口:

 

主要我们用的一般就是page,size,sort ,其余的 大家看接口 也能大致了解

还有page接口:

 了解了一些之后,我们就走一下流程,一般我们会直接从前端获取pageable对象,通过调用数据库,找到相关数据后用Page封装直接返回给前端。

下面是我最新做的一个关于问卷调查项目的后端分页代码:

(1)从前端获取pageable对象

(2) 数据库查找,page封装

(3)返回前端封装的数据(箭头省略后之间是一些数据内容),

 通过查询结果我们知道:

  • 共有12条数据
  • 当前页不是最后一页,后面还有数据
  • 总共有2页
  • 每页大小为10
  • 当前页为第1页
  • 当前页是第一页
  • 当前页一共有10条数据

(2)对List进行分装

第一种方法是对数据库查询结果直接进行Page封装 ,但有时候我们并不想直接对数据库进行操作,比如我们对某一个list进行分页封装返回给list,所以我们也要学会对list进行分页封装

首先这是一个实现Serializable接口的PageDatas<E>类,E就是对象:

 以下是定义的一个paging方法,我把它放在pagingUtils类里面,paging接收page(当前页),list(待分页封装的数据组),以及currentSize(每页记录数)参数,然后对数据组list进行分页封装,代码如下:

 以下是代码调用实现:

 

返回数据:

 

2.mybatis下的后端分页

具体看https://github.com/pagehelper/Mybatis-PageHelper

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值