关于Springboot中使用Pagehelper说明
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 配置说明
helperDialect
:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置 helperDialect 属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:oracle
,mysql
,mariadb
,sqlite
,hsqldb
,postgresql
,db2
,sqlserver
,informix
,h2
,sqlserver2012
,derby
。
特别注意:使用 SqlServer2012 数据库时,需要手动指定为 sqlserver2012 ,否则会使用 SqlServer2005 的方式进行分页。 你也可以实现 AbstractHelperDialect ,然后配置该属性为实现类的全限定名称即可使用自定义的实现方法。reasonable
:分页合理化参数,默认值为false
。当该参数设置为true
时, pageNum<=0 时会查询第一页, pageNum>pages (超过总数时),会查询最后一页。默认 false 时,直接根据参数进行查询。supportMethodsArguments
:支持通过 Mapper 接口参数来传递分页参数,默认值 false ,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 使用方法可以参考测试代码中的 com.github.pagehelper.test.basic 包下的 ArgumentsMapTest 和 ArgumentsObjTest 。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说明相关推荐
- .jar中没有主清单属性_如何在springboot中使用PageHelper分页插件
目录: PageHelper简介 使用maven引入相关的jar 配置PageHelper方言 编写业务逻辑代码 PageInfo类中几个常用属性的注释 一. PageHelper简介 PageHel ...
- 在Springboot中使用pagehelper实现分页管理
我们在开发Web应用时,经常会使用到分页. 如果你也在用 MyBatis,建议尝试该分页插件pagehelper,这一定是最方便使用的分页插件.分页插件支持任何复杂的单表.多表分页. 官网地址:htt ...
- 如何在springboot中使用PageHelper分页插件
文章目录 1. pom依赖 2. yml 3. 实体类 4. mapper映射文件 4. mapper接口 5. service接口 6. 实现类 7. controller 8. 浏览器验证 使用思 ...
- 在springboot中使用PageHelper(mybatis的分页插件) 以及自定义分页
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库, 例如mysql. oracle.mariaDB. DB2. SQLite.Hsqldb等. 本项目 ...
- springboot中的mybatis是如果使用pagehelper的
springboot中的mybatis是如果使用pagehelper的 springboot中使用其他组件都是基于自动配置的AutoConfiguration配置累的,pagehelper插件也是一样 ...
- SpringBoot中使用Mybatis-plus整合PageHelper分页插件踩坑
今天使用SpringBoot中使用Mybatis-plus整PageHelper分页插件把我给坑惨了,我报错的pom.xml配置如下,其它的依赖就忽略掉了 <!--pagehelper --&g ...
- SpringBoot中 pagehelper插件使用
pom.xml 中添加 pagehelper 依赖 <!--pagehelper--><dependency><groupId>com.github.pagehel ...
- SpringBoot + Mybatis + Druid + PageHelper 实现多数据源并分页
点击关注公众号,Java干货及时送达 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块 ...
- SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者: 虚无境 cnblogs.com/xuwujing/p/89 ...
最新文章
- Swift中的问号?和感叹号!
- GPU运行Tensorflow详细教程及错误解决
- [心跳] 使用心跳机制实现CS架构下多客户端的在线状态实时更新以及掉线自动重连...
- 任艳频 | 竞赛12年纪念文集--后记
- python去掉列表的括号和逗号_在每行之后显示没有逗号,括号等的python 2d...
- 编译py-faster-rcnn全过程
- 解决: Intellij IDEA 运行报错 Command line is too long
- 天津理工大学计算机调剂信息,天津理工大学2020考研调剂信息
- Pytorch专题实战——逻辑回归(Logistic Regression)
- 润乾报表没有数据时显示空行_实现报表数据分库存储
- 使用python Selenium实现智慧树界面化自动刷网课 chromehandless实现智慧树无界面化自动刷网课
- PCB原理图导入的2种方法,小白也能看懂!
- Docker 视频教程 ( 猿课 )
- 阿里云iot平台实现MQTT通信(mqtt.fx接入iot平台及测试)
- 用 Python 计算综合测评中的专业成绩加权平均分
- 微软官网操作系统下载方法
- Python 模拟登录知乎
- 哇咔咔!用Android手机控制电脑。
- html表头解释_1分钟内解释的html
- BSGS(拔山盖世算法),北上广深算法
热门文章
- sap甲方_这些奇葩的SAP顾问们,你们摆正位置了吗?
- php long time(1)
- php取微信名字和头像,PHP实现微信获取用户基本信息(openid、头像、昵称)
- Java基础——吃货联盟订餐系统
- PayPal开发文档整理(10)——Payouts Overview
- 由“16亿美元终极锦鲤”引发的金钱观思考 文末有彩蛋
- 网络安全菜鸟的学习路程
- c语言查找不及格成绩,c语言知识(找出大于2门成绩不及格的学生)
- 初中计算机会考不及格,初中会考不及格怎么办?会不会影响高中?
- PySpark SQL 相关知识介绍