SpringBoot 集成PageHelper 分页组件

╰+攻爆jí腚メ 2023-10-10 10:42 109阅读 0赞

第一步:添加依赖:

  1. <!-- pagehelper -->
  2. <dependency>
  3. <groupId>com.github.pagehelper</groupId>
  4. <artifactId>pagehelper-spring-boot-starter</artifactId>
  5. <version>1.2.5</version>
  6. </dependency>

第二步:application.properties 配置文件添加PageHelper 配置参数 或者通过配置类注入PageHelper 实例化对象:

第一种方式:

  1. #pagehelper分页插件配置
  2. pagehelper.helperDialect=mysql
  3. pagehelper.reasonable=true
  4. pagehelper.supportMethodsArguments=true
  5. pagehelper.params=count=countSql

第二种方式:

  1. @Configuration
  2. public class MyBatisConfig {
  3. /**
  4. * 分页对象实列化
  5. * @return
  6. */
  7. @Bean
  8. public PageHelper pageHelper() {
  9. PageHelper pageHelper = new PageHelper();
  10. Properties p = new Properties();
  11. p.setProperty("offsetAsPageNum", "true");
  12. p.setProperty("rowBoundsWithCount", "true");
  13. p.setProperty("reasonable", "true");
  14. p.setProperty("dialect", "mysql");
  15. pageHelper.setProperties(p);
  16. return pageHelper;
  17. }
  18. }

第三步:Controller 调用service 实现分页:

  1. public Result findFullObj(JSONObject entity) {
  2. if(logger.isDebugEnabled()){
  3. logger.debug(entity.toJSONString());
  4. }
  5. Map<String, Object> param = JSONObject.toJavaObject(entity, Map.class);
  6. PageParam rb = super.initPageBounds(param);
  7. PageData<UcasArchInfo> pageList = service.selectAllPage(param, rb);
  8. return Result.ok().setDatas("list",pageList.getData()).setDatas("limit", pageList.getPageSize()).setDatas("page", pageList.getPageNum()).setDatas("total_count", pageList.getTotalCount());
  9. }

注意的是,分页代码PageHelper.startPage(pageNo,pageSize);只对其后的第一个查询有效.

发表评论

表情:
评论列表 (有 0 条评论,109人围观)

还没有评论,来说两句吧...

相关阅读