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. Swift中的问号?和感叹号!
  2. GPU运行Tensorflow详细教程及错误解决
  3. [心跳] 使用心跳机制实现CS架构下多客户端的在线状态实时更新以及掉线自动重连...
  4. 任艳频 | 竞赛12年纪念文集--后记
  5. python去掉列表的括号和逗号_在每行之后显示没有逗号,括号等的python 2d...
  6. 编译py-faster-rcnn全过程
  7. 解决: Intellij IDEA 运行报错 Command line is too long
  8. 天津理工大学计算机调剂信息,天津理工大学2020考研调剂信息
  9. Pytorch专题实战——逻辑回归(Logistic Regression)
  10. 润乾报表没有数据时显示空行_实现报表数据分库存储
  11. 使用python Selenium实现智慧树界面化自动刷网课 chromehandless实现智慧树无界面化自动刷网课
  12. PCB原理图导入的2种方法,小白也能看懂!
  13. Docker 视频教程 ( 猿课 )
  14. 阿里云iot平台实现MQTT通信(mqtt.fx接入iot平台及测试)
  15. 用 Python 计算综合测评中的专业成绩加权平均分
  16. 微软官网操作系统下载方法
  17. Python 模拟登录知乎
  18. 哇咔咔!用Android手机控制电脑。
  19. html表头解释_1分钟内解释的html
  20. BSGS(拔山盖世算法),北上广深算法

热门文章

  1. sap甲方_这些奇葩的SAP顾问们,你们摆正位置了吗?
  2. php long time(1)
  3. php取微信名字和头像,PHP实现微信获取用户基本信息(openid、头像、昵称)
  4. Java基础——吃货联盟订餐系统
  5. PayPal开发文档整理(10)——Payouts Overview
  6. 由“16亿美元终极锦鲤”引发的金钱观思考 文末有彩蛋
  7. 网络安全菜鸟的学习路程
  8. c语言查找不及格成绩,c语言知识(找出大于2门成绩不及格的学生)
  9. 初中计算机会考不及格,初中会考不及格怎么办?会不会影响高中?
  10. PySpark SQL 相关知识介绍