天天看点

java Redis分页,springboot,pagehelper有问题找:qq 1856245921.使用到的工具 maven地址2.分页代码

有问题找:qq 185624592

1.使用到的工具 maven地址

我这边用的是pagehelper  也可以用其他的

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
           

2.分页代码

1.新增redis list数据

List<Entity> entitys=数据库查询;
//创建一个用来接收序列化对象的list
List<String> strings = Lists.newLinkedList();
//如果list不为空-> 将list对象序列化后  存到 strings 列表
//JSON 是fastjson
if (CollectionPersonUtils.arrayNotNull(entitys)) {
    entitys.stream().forEach(f -> strings.add(JSON.toJSONString(f)));
}
Collection c = strings;
//把strings 通过rightPush加到redis 
redisUtils.rightPushAll("Entity_CASH", c);
           

2.查询redis list列表 并分页

//这个是PageHelper 开启分页插件
Page page = PageHelper.startPage(dto.getCurrentPage(), dto.getPageSize());
//这个是分页获取redis list信息 page.getStartRow()=开始行 page.getEndRow()=结束行
List<Object> objs=redisUtils.listRange("Entity_CASH",page.getStartRow(),page.getEndRow());
//获取总共有多少条数据
Long listSize=redisUtils.getListSize("Entity_CASH");
if(listSize!=null){
    page.setTotal(listSize);
}
List<EntityVO> entitys=Lists.newLinkedList();
if(objs!=null){
    entitys=JSON.parseArray(objs.toString(), EntityVO.class);
}
分页的信息-page;
list结果集-forecastVOS;
return;