springboot mybatis的pagehelper分页
maven repositary里,分页组件常用的有两个
com.github.pagehelper » pagehelper-spring-boot-starter
com.github.pagehelper » pagehelper
躺了很多坑,记录一个能够成功的方式:
===============================分割线========================
1.在pom.xml中引入依赖:选择pagehelper的4.2.x版本(如果选了5.1.2,参考这个:https://blog.csdn.net/qq_42200163/article/details/106229616)
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency>
2.配置类,这是4.x.x版本的写法,如果是5.1.2,就不能像下面这样写(不会生效)
package com.yggdrasill.framework; import com.github.pagehelper.PageHelper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Properties; @Configuration public class PageMybatisConf { @Bean public PageHelper pageHelper() { System.out.println("MyBatisConfiguration.pageHelper()"); PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); p.setProperty("dialect","postgresql"); pageHelper.setProperties(p); return pageHelper; } }
3.调用代码
public PageInfo<Slave> queryApiSlaveList(Pager<Slave> page) {
// PageHelper.startPage(page,pageSize);开启分页插件,放在查询语句上面 帮助生成分页语句
PageHelper.startPage(page.getPage(), page.getPageSize());//1,10
List<Slave> listSlave = slaveMapper.selectAll();
// 封装分页之后的数据 返回给客户端展示 PageInfo做了一些封装 作为一个类
PageInfo<Slave> pageInfoUser = new PageInfo<Slave>(listSlave);
return pageInfoUser;
}
效果如图
完成!!!
===================================================================
ps:不用在application.properties配置那几个参数了,入如果是 pagehelper-spring-boot-starter ,则需要配置
pagehelper.helperDialect=postgresql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.page-size-zero=true
至于 pagehelper-spring-boot-starter 方式,可参考 https://blog.csdn.net/csdn_huzeliang/article/details/79350425
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2017-06-12 Ueditor百度编辑器中的 setContent()方法的使用