使用PageHelper插件实现Service层分页
作者:Keson 发布时间:2023-03-06 00:40:39
标签:PageHelper,Service,分页
本文实例为大家分享了使用PageHelper插件实现Service层分页的具体代码,供大家参考,具体内容如下
使用场景:
平时分页我们可以直接使用mybatis-plus中内置的IPage进行分页,一般是在mapper中写好接口,在执行sql时就将其进行分页操作,但是有些复杂的查询或者是需要拼接返回格式的数据就难以操作了,所以我们使用PageHelper插件来实现Service分页功能。
1.在pom.xml文件中导入PageHelper插件依赖
<!--pagehelper分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
2.编写PageHelper配置类
package com.cdtye.itps.jjxt.config;
import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageHelper;
/**
* @Author Zhongks
* @Description //TODO 分页配置对象
* @Date 14:47 2021/4/23
* @Param
* @return
**/
@Configuration
public class PageHelperConfiguration {
/**
* @Author Zhongks
* @Description //TODO 分页对象实列化
* @Date 15:49 2021/4/23
* @Param []
* @return com.github.pagehelper.PageHelper
**/
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
p.setProperty("dialect", "Oracle");
pageHelper.setProperties(p);
return pageHelper;
}
}
3.在Service层进行分页操作:
/**
* @Author Zhongks
* @Description //TODO 列表页面显示
* @Date 18:42 2021/4/22
* @Param []
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
**/
public PageInfo<Map<String, Object>> getList(BureauNoticeVo vo){
if(vo.getPage()!=null&&vo.getSize()!=null){
//设置页码数以及一页显示数量
PageHelper.startPage(vo.getPage(),vo.getSize());
}
//自己发布的或者下发单位中含有当前登入人单位编码的才能看
List<Map<String, Object>> bureauNoticeList = bureauNoticeMapper.getList(vo,AuthHelper.loginUser().getUnitDeptCode());
bureauNoticeList.forEach(map->{
//得到下发单位信息集合
List<String> deptNameList = bureauNoticeAcceptService.getBureauNoticeAcceptAndDeptByNoticeId((String) map.get("id"));
map.put("deptNameList",deptNameList);
//得到附件信息集合
map.put("fileList",this.getFileList((String) map.get("id")));
});
//将需要进行分页的list传入Pagehelper实现分页
PageInfo<Map<String, Object>> pageInfo = new PageInfo(bureauNoticeList);
return pageInfo;
}
4.查询类Vo:
@ApiModel("")
@Getter
@Setter
public class BureauNoticeVo extends BaseVo {
@ApiModelProperty(value = "开始时间")
private String startDate;
@ApiModelProperty(value = "开始时间")
private String endDate;
@ApiModelProperty(value = "描述")
private String noticeDescription;
@ApiModelProperty(value = "页码")
private Integer page;
@ApiModelProperty(value = "页显示数")
private Integer size;
}
5.接口返回数据:
来源:https://blog.csdn.net/weixin_44009447/article/details/116059426
0
投稿
猜你喜欢
- 本文实例为大家分享了SpringMVC框架实现图片上传与下载的具体代码,供大家参考,具体内容如下1、新建一个Maven webapp项目,引
- java8的stream流能完美解对象集合去重问题. List<UserCar> list1 = new ArrayList()
- 成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。(1) 类名首字母应该大写。字段
- spring-retry是什么?spring-retry是spring提供的一个重试框架,原本自己实现的重试机制,现在spring帮封装好提
- SpringTask是Spring自带的功能。实现起来比较简单。使用SpringTask实现定时任务有两种方式:1.注解方式基于注解@Sch
- 一:form在前台以post方式提交数据: 浏览器将数据(假设为“中国”)发送给服务器的时
- 一、导航栏UINavigationBar1、导航栏的使用在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigati
- 模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。下面着重详解回调机制。1. 概述Java 中的回调机制
- 承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)1、现有如下代码段:x = 2;while(x<n/2){x = 2*
- 比较适合新手。逻辑上仍然有点问题。可以用于学习java文件操作下载地址:http://yun.baidu.com/share/link?sh
- public class MD5Check {/*** 默认的密码字符串组合,用来将字节转换成 16 进制表示的字符,apache校验下载的
- 一、定界符成帧Framer接口package framer;import java.io.IOException;import java.i
- Java 2D API通过扩展抽象窗口工具箱(AWT),为Java程序提供了二维图像,文本和图形的功能。这个复杂的渲染包支持线形图像,文本和
- 我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其
- 为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 Output
- Seata介绍Seata:Simple Extensible Autonomous Transaction Architecture,简易可
- 本文实例为大家分享了opencv实现轮廓高斯滤波平滑的具体代码,供大家参考,具体内容如下一个小测试的题目:在图像上点选,找到与点选处相邻的颜
- 本文实例讲述了Java编程实现获取当前代码行行号的方法。分享给大家供大家参考,具体如下:最近的项目中,为了实现自定义的log类,能够输出具体
- 1 @SpringBootApplication自动配置原理@SpringBootApplication是一个组合注解,主要由@Compon
- 一、项目简述功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管理