基于 MyBatis 的增强工具包,提供通用 CRUD、条件构造器、分页和代码生成,简化 Java 数据库开发。
pagehelper-org/Mybatis-PageHelper
为 MyBatis 查询添加物理分页的插件,可按数据库方言生成对应的分页 SQL。
- Star
- 12,316
- Fork
- 3,073
- 未关闭 Issue
- 66
- 最近提交
- 4天前
这是什么?
PageHelper 是 MyBatis 的分页插件,无需手写分页 SQL。开发者在执行查询前调用一个静态方法,插件会改写 SQL,使数据库只返回当前页的数据。它既能处理单表查询,也能处理较复杂的多表分页。
插件可根据 JDBC URL 自动识别数据库方言,覆盖 MySQL、PostgreSQL、Oracle、SQL Server、DB2、H2 等主流数据库,也支持达梦、人大金仓、openGauss 等国产数据库。若数据库不在列表中,可通过 dialectAlias 参数配置自定义实现。连接池方面支持 Hikari、Druid、Tomcat JDBC、DBCP 和 C3P0 的自动协商。
项目以 Maven 依赖形式发布,需要在 classpath 中包含 jsqlparser。6.x 版本要求 JDK 8 及以上,5.x 版本支持 JDK 6。针对 Spring Boot 项目,另有独立的 starter 可用。
核心功能
- 01在数据库层面改写查询,只取回当前页的数据。
- 02根据 JDBC URL 自动识别数据库方言。
- 03支持多种数据库,包括达梦、人大金仓等国产数据库。
- 04可通过 dialectAlias 配置自定义方言。
- 05提供 Executor 级别的 QueryInterceptor 扩展接口。
适用场景
- 为使用 MyBatis 的 Java 服务添加分页列表接口。
- 无需手写 LIMIT 语句即可对复杂多表查询分页。
- 在达梦、人大金仓等国产数据库上使用 MyBatis 进行分页查询。
快速上手
- 1
在 pom.xml 中添加 pagehelper Maven 依赖(使用最新版本)
- 2
阅读使用文档以了解配置和用法
使用前须知
- 文档和 README 主要为中文,英文版本位于单独文件中。
- 需要已有 MyBatis 环境,并且 classpath 中包含 jsqlparser 库。
收录于专题
标签
常见问题
- Mybatis-PageHelper 是什么?
- 为 MyBatis 查询添加物理分页的插件,可按数据库方言生成对应的分页 SQL。 PageHelper 是 MyBatis 的分页插件,无需手写分页 SQL。开发者在执行查询前调用一个静态方法,插件会改写 SQL,使数据库只返回当前页的数据。它既能处理单表查询,也能处理较复杂的多表分页。
- Mybatis-PageHelper 可以免费使用吗?用的什么许可证?
- Mybatis-PageHelper 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- Mybatis-PageHelper 还在维护吗?
- 活跃维护中。Mybatis-PageHelper 最近一次提交是在 2026年11月3日。
- Mybatis-PageHelper 适合用来做什么?
- 为使用 MyBatis 的 Java 服务添加分页列表接口。 无需手写 LIMIT 语句即可对复杂多表查询分页。 在达梦、人大金仓等国产数据库上使用 MyBatis 进行分页查询。
- Mybatis-PageHelper 怎么安装和运行?
- 在 pom.xml 中添加 pagehelper Maven 依赖(使用最新版本) 阅读使用文档以了解配置和用法
- 在哪里获取 Mybatis-PageHelper?
- 源代码和安装说明在 GitHub 上:https://github.com/pagehelper-org/Mybatis-PageHelper
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
免费的跨平台桌面 SQL 客户端与数据库工具,支持 100 多种数据库。
基于 Java 的开源工具,用于从生产数据库中抽取保持引用完整性的数据子集,并沿外键关系浏览数据。
纯 Java 实现的 PostgreSQL JDBC 驱动,让 Java 程序通过标准 JDBC 接口连接和操作 PostgreSQL 数据库。
基于 Spring Boot 与 MyBatis 的完整电商系统,包含前台商城与后台管理,支持 Docker 部署。
基于 Spring Boot 与 Vue 的前后端分离人力资源管理系统脚手架。