PageHelper-Spring-Boot 教程
2026-01-16 10:08:28作者:庞队千Virginia
1. 项目介绍
PageHelper 是一个针对 MyBatis 的分页插件,它提供了方便的分页功能,只需简单的配置就能轻松实现复杂的分页需求。PageHelper-Spring-Boot 是该插件的 Spring Boot 集成版,它帮助用户无缝地将 PageHelper 引入到 Spring Boot 应用程序中,无需繁琐的配置。
2. 项目快速启动
2.1 添加依赖
首先,在你的 pom.xml 文件中添加 PageHelper-Spring-Boot Starter 的依赖:
<dependencies>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
2.2 配置 application.properties
在 application.properties 文件中添加以下配置以启用 PageHelper:
pagehelper.helperDialect=mysql # 数据库类型
pagehelper.reasonable=true # 是否合理处理count查询
pagehelper.supportMethodsArguments=true # 支持通过Map传入分页参数
pagehelper.params=count=countSql # 自定义参数
2.3 使用示例
在 Service 或 Repository 类中,使用 PageHelper 开启分页:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public Page<User> getUserList(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
return userRepository.findAll();
}
}
在 Controller 类中,接收请求并调用 Service 方法:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public Object getUsers(@RequestParam(defaultValue="1") Integer pageNum,
@RequestParam(defaultValue="10") Integer pageSize) {
return userService.getUserList(pageNum, pageSize);
}
}
3. 应用案例与最佳实践
3.1 异步 Count 支持
从版本 2.0.0 开始,PageHelper 支持异步计算总数。要开启此功能,可以在启动分页时调用 enableAsyncCount():
PageHelper.startPage(pageNum, pageSize).enableAsyncCount();
3.2 自定义 SQL 解析器
你可以通过 SPI 方式或构造函数参数替换默认的 SQL 解析器,例如替换 CountSqlParser:
PageHelper.startPage(pageNum, pageSize)
.setCountSqlParser(new YourCustomCountSqlParser());
4. 典型生态项目
PageHelper-Spring-Boot 适用于任何基于 Spring Boot 并使用 MyBatis 的应用程序。它可以与其他 Spring Boot 生态组件如 Spring Data JPA、MyBatis-Spring-Boot-Starter、Swagger 等结合使用,构建强大的数据访问层。
本教程覆盖了 PageHelper-Spring-Boot 的基本使用方法,包括配置、快速启动示例以及一些高级特性。结合官方文档和示例项目,可以进一步了解如何在实际项目中充分利用这一工具。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0114
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
763
4.96 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
856
1.92 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
676
1.33 K
Ascend Extension for PyTorch
Python
719
875
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
455
437
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.07 K
1.09 K
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
150
252
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
296
114
昇腾LLM分布式训练框架
Python
178
220