1. Pagehelper简介

PageHelper官网

2. springboot整合pagehelper说明

2.1 引入依赖

        <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency>

2.2 配置pagehelper

yml配置与java配置二选一即可

2.2.1 yml配置

pagehelper:params: count=countSqlreasonable: truesupport-methods-arguments: trueauto-dialect: mysql

2.2.2 JAVA配置

@Configuration
@ConditionalOnProperty(name = "pagehelper.supportMethodsArguments")
public class PageHelperConfig {/*** 注入pageHelper配置*/@Beanpublic PageHelper getPageHelper() {PageHelper pageHelper = new PageHelper();Properties properties = new Properties();properties.setProperty("helperDialect", "mysql");properties.setProperty("reasonable", "true");properties.setProperty("supportMethodsArguments", "true");properties.setProperty("params", "count=countSql");pageHelper.setProperties(properties);return pageHelper;}
}

2.2.3 配置说明

  1. helperDialect :分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置 helperDialect 属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:oracle , mysql , mariadb , sqlite , hsqldb , postgresql, db2 , sqlserver , informix , h2 ,sqlserver2012 , derby
    特别注意:使用 SqlServer2012 数据库时,需要手动指定为 sqlserver2012 ,否则会使用 SqlServer2005 的方式进行分页。 你也可以实现 AbstractHelperDialect ,然后配置该属性为实现类的全限定名称即可使用自定义的实现方法。
  2. reasonable :分页合理化参数,默认值为 false 。当该参数设置为 true 时, pageNum<=0 时会查询第一页, pageNum>pages (超过总数时),会查询最后一页。默认 false 时,直接根据参数进行查询
  3. supportMethodsArguments :支持通过 Mapper 接口参数来传递分页参数,默认值 false ,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 使用方法可以参考测试代码中的 com.github.pagehelper.test.basic 包下的 ArgumentsMapTest 和 ArgumentsObjTest 。
  4. params :为了支持 startPage(Object params) 方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable ,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero= pageSizeZero

2.3 使用pagehelper

controller.java

 @PostMapping("/logs")public CommonResult listLogs(Integer currentPage,Integer size,SelectLogRequest request) {return new CommonResult(logService.queryByLimit(currentPage,size,request);}

logService.java

 /*** 按条件分页查询数据* @param currentPage 当前页码* @param size 当前页大小* @param request 查询条件* @return*/PageInfo<LogPo> queryByLimit(Integer currentPage, Integer size, SelectLogRequest request);

logServiceImpl.java

 /*** 按条件分页查询数据** @param request 分页查询条件* @return 日志列表*/@Overridepublic PageInfo<LogPo> queryByLimit(Integer currentPage, Integer size, SelectLogRequest request) {PageHelper.startPage(currentPage, size);//按条件分页查询List<LogPo> logs = logMapper.queryByLimit(request);PageInfo<LogPo> pageInfo = new PageInfo<LogPo>(logs);return pageInfo;}

logMapper.java

List<LogPo> queryByLimit(@Param("logDto") SelectLogRequest logDto);

logMapper.xml

<select id="queryByLimit" resultMap="PublishLogsMap">selectid, properties_path, log_path, version, operate, execute_user, execute_result, gmt_createfrom publish_logs<include refid="queryWhere"></include>order by gmt_create desc</select>

使用说明

  • 返回值为PageInfo类型
  • 使用PageHelper.startPage(currentPage, size);开始分页
  • 查询符合条件的记录,并将记录封闭到PageInfo中返回

关于Springboot中使用Pagehelper说明相关推荐

  1. .jar中没有主清单属性_如何在springboot中使用PageHelper分页插件

    目录: PageHelper简介 使用maven引入相关的jar 配置PageHelper方言 编写业务逻辑代码 PageInfo类中几个常用属性的注释 一. PageHelper简介 PageHel ...

  2. 在Springboot中使用pagehelper实现分页管理

    我们在开发Web应用时,经常会使用到分页. 如果你也在用 MyBatis,建议尝试该分页插件pagehelper,这一定是最方便使用的分页插件.分页插件支持任何复杂的单表.多表分页. 官网地址:htt ...

  3. 如何在springboot中使用PageHelper分页插件

    文章目录 1. pom依赖 2. yml 3. 实体类 4. mapper映射文件 4. mapper接口 5. service接口 6. 实现类 7. controller 8. 浏览器验证 使用思 ...

  4. 在springboot中使用PageHelper(mybatis的分页插件) 以及自定义分页

    PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库, 例如mysql. oracle.mariaDB. DB2. SQLite.Hsqldb等. 本项目 ...

  5. springboot中的mybatis是如果使用pagehelper的

    springboot中的mybatis是如果使用pagehelper的 springboot中使用其他组件都是基于自动配置的AutoConfiguration配置累的,pagehelper插件也是一样 ...

  6. SpringBoot中使用Mybatis-plus整合PageHelper分页插件踩坑

    今天使用SpringBoot中使用Mybatis-plus整PageHelper分页插件把我给坑惨了,我报错的pom.xml配置如下,其它的依赖就忽略掉了 <!--pagehelper --&g ...

  7. SpringBoot中 pagehelper插件使用

    pom.xml 中添加 pagehelper 依赖 <!--pagehelper--><dependency><groupId>com.github.pagehel ...

  8. SpringBoot + Mybatis + Druid + PageHelper 实现多数据源并分页

    点击关注公众号,Java干货及时送达 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块 ...

  9. SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者: 虚无境 cnblogs.com/xuwujing/p/89 ...

最新文章

  1. 在 Azure 上部署 Asp.NET Core Web App
  2. 《Java基础入门》课后习题答案 资源分享
  3. 这里有一个3天的秘境邀请!
  4. VC++生成序列号和注册机总结
  5. Redis(七)Redis的噩梦:阻塞
  6. win2008 mysql端口_Win7系统下SqlServer 2008修改IP端口的方法
  7. ios基础考试题1,实现按钮点击改变位置和图片的透明度和动画的使用
  8. 编写 android 测试单元该做的和不该做的事
  9. oracle 存储过程给另一个用户的权限问题
  10. python中random库
  11. api 文件长度_上传下载API
  12. 未来时速——第一章 用事实的力量管理企业
  13. MD5 加密算法详解
  14. 欧洲杯:匈牙利vs葡萄牙时间:06-15 23:59 星期二
  15. 对抗训练-smart 论文阅读笔记
  16. 中华人民共和国数据安全法
  17. git常用命令-进阶
  18. Qt实现圆形头像,支持Url和本地图片
  19. python的DDT模块
  20. 苹果x电池多少毫安_苹果x换原装电池体验

热门文章

  1. 如何将eclipse设置全黑背景!
  2. Vector,和vector的应用
  3. linux usb gadget驱动详解(三)
  4. iPad能装Android系统,我错了,原来iPad真的能装Windows和macOS系统!
  5. 精选10大C4D资源素材网站!还不收藏?
  6. mysql数据库实验报告二
  7. Mac OS X系统 HomeBrew的安装和简单使用
  8. Win32 双人五子棋
  9. 微软2010(附下载地址),yozo,wps三种office的对比
  10. SDN and Malware(1)