当前位置: 首页 > article >正文

003-SpringBoot整合Pagehelper

SpringBoot整合Pagehelper

  • 一、引入依赖
  • 二、配置 application.yml
  • 三、配置 MybatisPlusConfig
  • 四、Controller
  • 五、ServiceImpl

一、引入依赖

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper-spring-boot-starter</artifactId>
  <version>1.4.1</version>
</dependency>

二、配置 application.yml

# PageHelper分页插件
# springboot配置分页插件pageHelper和数据库方言的几种方式 : https://www.cnblogs.com/zhncnblogs/p/17972507
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
  autoRuntimeDialect: true

三、配置 MybatisPlusConfig

@Configuration
@MapperScan("org.example.mapper*")
public class MybatisPlusConfig {

    /**
     * 分页插件
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(paginationInnerInterceptor());
        return interceptor;
    }

    /**
     * 分页插件,自动识别数据库类型
     */
    public PaginationInnerInterceptor paginationInnerInterceptor() {
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
        // 设置最大单页限制数量,默认 5000 条,-1 不受限制
        paginationInnerInterceptor.setMaxLimit(5000L);
        //查询时候查询页>总页数 返回数据方式 true调回到首页,false 继续请求
        paginationInnerInterceptor.setOverflow(false);
        return paginationInnerInterceptor;
    }

}

四、Controller

@GetMapping("/listPage/{pageNum}/{pageSize}")
public ResultPageVo<List<BgateVehicleRegisterDto>> queryBgateVehicleRegisterByPage(
        @PathVariable(name = "pageNum", required = true) Long currentPageNo,
        @PathVariable(name = "pageSize", required = true) Integer pageSize) {
    ResultPageVo<List<BgateVehicleRegisterDto>> re = ResultFactory.successPage();
    Page<BgateVehicleRegisterDto> dataPage = new Page<>(currentPageNo, pageSize);
    Map<String, String> map = MapUtil.convertString(request.getParameterMap());
    IPage<BgateVehicleRegisterDto> resultPage = iBgateVehicleRegisterService.queryBgateVehicleRegisterByPage(dataPage, map);
    re.setRows(resultPage.getRecords());
    re.setTotal(resultPage.getTotal());
    re.setCurrentPageNo(currentPageNo);
    return re;
}

五、ServiceImpl

@Override
public IPage<BgateVehicleRegisterDto> queryBgateVehicleRegisterByPage(IPage<BgateVehicleRegisterDto> page, Map<String, String> paramMap) {
    return bgateVehicleRegisterMapper.selectPage(page, Wrappers.lambdaQuery(BgateVehicleRegisterDto.class)
            .eq(BgateVehicleRegisterDto::getStatus, 0));
}

http://www.kler.cn/a/421238.html

相关文章:

  • 十,[极客大挑战 2019]Secret File1
  • java将word docx pdf转换为图片(不需要额外下载压缩包,直接导入maven坐标)
  • jvm-46-jvm Thread Dump 线程的信息获取+可视分析化工具 FastThread
  • Linux笔试题(自己整理,已做完,选择题)
  • 二百七十八、ClickHouse——将本月第一天所在的那一周视为第一周,无论它是从周几开始的,查询某个日期是本月第几周
  • 企业品牌曝光的新策略:短视频矩阵系统
  • 后端-mybatis的一对多
  • iptables 防火墙 附实验:三台虚拟机模拟内网连接外网
  • 多模态遥感技术:智慧城市更新与表达的新路径
  • 容器化实践:优化DevOps环境下的容器交付流程
  • 【Leetcode】27.移除元素
  • 【大数据学习 | 面经】Spark 3.x 中的AQE(自适应查询执行)
  • Vue教程|搭建vue项目|Vue-CLI新版脚手架
  • 【HarmonyOS】鸿蒙应用使用lottie动画
  • 【SpringBoot】29 基于HttpClient的Http工具类
  • [自然语言处理] NLP-RNN及其变体-干货
  • Python 网络爬虫入门全知道
  • 分布式推理框架 xDit
  • 【threejs】实现不同动画的播放和平滑切换
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
  • <数据集>路面坑洼识别数据集<目标检测>
  • 王道操作系统目录以及学习感受和总结
  • 《向量数据库指南》——Florence:多模态应用的新基石!
  • 2024年大热,Access平替升级方案,也适合Excel用户
  • Vuex的理解及使用场景
  • 南昌榉之乡托养机构解读:自闭症与看电视并无必然联系