Springboot:PageHelper
2023-12-21 15:43:01
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
一、maven依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
二、配置信息
可以在xml里添加配置
pagehelper.helper-dialect = mysql
pagehelper.reasonable = true
pagehelper.support-methods-arguments = true
pagehelper.params = count=countSql
也可以用注解的方式
@Bean
public static PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("reasonable", "false");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("params", "count=countSql");
properties.setProperty("helperDialect", "mysql");
pageHelper.setProperties(properties);
new SqlSessionFactoryBean().setPlugins(new Interceptor[]{pageHelper});
return pageHelper;
}
三、分页实操
public PageInfo<RepayReconciliationEntity> getRepaymentSummaryList(GetRepaymentSummaryListReqDTO getRepaymentSummaryListReqDTO) {
// 查询条件-当前页数
Integer pageNum = getRepaymentSummaryListReqDTO.getPageNum();
// 查询条件-每页大小
Integer pageSize = getRepaymentSummaryListReqDTO.getPageSize();
// 初始化分页插件
PageHelper.startPage(pageNum, pageSize);
List<RepayReconciliationEntity> resultList = repayReconciliationMapper.getByConditionByPage();
return new PageInfo<>(resultList);
}
四、避坑指南
在实操的时候,我们往往会在查询之前进行一些参数的设置或者转换
千万要保证初始化分页插件和查询是紧挨着的,否则分页不生效。
下面举个反例
public PageInfo<RepayReconciliationEntity> getRepaymentSummaryList(GetRepaymentSummaryListReqDTO getRepaymentSummaryListReqDTO) {
// 查询条件-当前页数
Integer pageNum = getRepaymentSummaryListReqDTO.getPageNum();
// 查询条件-每页大小
Integer pageSize = getRepaymentSummaryListReqDTO.getPageSize();
// 初始化分页插件
PageHelper.startPage(pageNum, pageSize);
String json = "abc";
List<RepayReconciliationEntity> resultList = repayReconciliationMapper.getByConditionByPage();
return new PageInfo<>(resultList);
}
我们可以看到,仅仅是在初始化分页插件之后,随便写了一行代码,最终就会导致分页没生效。?
总结
没啥难度,简单到有手就行!
文章来源:https://blog.csdn.net/ql_gome/article/details/135130287
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!