有问题找: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;