pagehelper-org/Mybatis-PageHelper
pagehelper-org/Mybatis-PageHelper has 12,317 GitHub stars and 3,073 forks. GitHot measured 0 stars in 24 hours and -3 in 7 days. Last checked 2026-11-10 01:14 UTC. Last push 2026-11-03.
Mybatis通用分页插件
Measured star growth
- in 24h
- 0
- in 7 days
- -3
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README_en.md
Original
MyBatis Pagination - PageHelper
If you are using MyBatis, it is recommended to try this pagination plugin. This must be the MOST CONVENIENT pagination plugin.
PageHelper supports any complex single-table, multi-table queries. As to some special cases, please refer to the Important note.
Want to use PageHelper? Please check out How to use PageHelper.
New JavaDoc
https://apidoc.gitee.com/free/Mybatis_PageHelper
APIs: https://apidoc.gitee.com/free/Mybatis_PageHelper/com/github/pagehelper/page/PageMethod.html
《MyBatis 从入门到精通》

CSDN Blog:http://blog.csdn.net/isea533/article/details/73555400
GitHub:https://github.com/mybatis-book/book
Support MyBatis 3.1.0+
PageHelper 6 Support jdk8+
PageHelper 5 Support jdk6+
Physical Paging
PageHelper supports the following databases PageAutoDialect:
static {
//register alias
registerDialectAlias("hsqldb",HsqldbDialect.class);
registerDialectAlias("h2",HsqldbDialect.class);
registerDialectAlias("phoenix",HsqldbDialect.class);
registerDialectAlias("postgresql",PostgreSqlDialect.class);
registerDialectAlias("mysql",MySqlDialect.class);
registerDialectAlias("mariadb",MySqlDialect.class);
registerDialectAlias("sqlite",MySqlDialect.class);
registerDialectAlias("herddb",HerdDBDialect.class);
registerDialectAlias("oracle",OracleDialect.class);
registerDialectAlias("oracle9i",Oracle9iDialect.class);
registerDialectAlias("db2",Db2Dialect.class);
registerDialectAlias("as400",AS400Dialect.class);
registerDialectAlias("informix",InformixDialect.class);
//Solve informix-sqli #129, still keep the above
registerDialectAlias("informix-sqli",InformixDialect.class);
registerDialectAlias("sqlserver",SqlServerDialect.class);
registerDialectAlias("sqlserver2012",SqlServer2012Dialect.class);
registerDialectAlias("derby",SqlServer2012Dialect.class);
//达梦数据库,https://github.com/mybatis-book/book/issues/43
registerDialectAlias("dm",OracleDialect.class);
//阿里云PPAS数据库,https://github.com/pagehelper/Mybatis-PageHelper/issues/281
registerDialectAlias("edb",OracleDialect.class);
//神通数据库
registerDialectAlias("oscar",OscarDialect.class);
registerDialectAlias("clickhouse",MySqlDialect.class);
//瀚高数据库
registerDialectAlias("highgo",HsqldbDialect.class);
//虚谷数据库
registerDialectAlias("xugu",HsqldbDialect.class);
registerDialectAlias("impala",HsqldbDialect.class);
registerDialectAlias("firebirdsql",FirebirdDialect.class);
//人大金仓数据库
registerDialectAlias("kingbase",PostgreSqlDialect.class);
// 人大金仓新版本kingbase8
registerDialectAlias("kingbase8",PostgreSqlDialect.class);
//行云数据库
registerDialectAlias("xcloud",CirroDataDialect.class);
//openGauss数据库
registerDialectAlias("opengauss",PostgreSqlDialect.class);
//注册 AutoDialect
//If you want to achieve the same effect as the previous version, you can configure it autoDialectClass=old
registerAutoDialectAlias("old",DefaultAutoDialect.class);
registerAutoDialectAlias("hikari",HikariAutoDialect.class);
registerAutoDialectAlias("druid",DruidAutoDialect.class);
registerAutoDialectAlias("tomcat-jdbc",TomcatAutoDialect.class);
registerAutoDialectAlias("dbcp",DbcpAutoDialect.class);
registerAutoDialectAlias("c3p0",C3P0AutoDialect.class);
//If not configured, it is used by default DataSourceNegotiationAutoDialect
registerAutoDialectAlias("default",DataSourceNegotiationAutoDialect.class);
}
If the database you are using is not in this list, you can configure the
dialectAliasparameter.This parameter allows to configure the alias of a custom implementation, which can be used to automatically obtain the corresponding implementation according to the JDBCURL, and allows to overwrite the existing implementation in this way. The configuration example is as follows (use semicolons to separate multiple alias):
<property name="dialectAlias" value="oracle=com.github.pagehelper.dialect.helper.OracleDialect"/> <!-- 6.0 The following reference is supported, referencing the implementation of Oracle9iDialect.class --> <property name="dialectAlias" value="oracle=oracle9i"/> <!-- 6.0 To support the following citation methods, DM uses oracle syntax for pagination to simplify the writing of the full name of the class --> <property name="dialectAlias" value="dm=oracle"/>
Use QueryInterceptor spec
Installation
To use PageHelper, you just need to include the pagehelper-x.y.z.jar and jsqlparser-x.y.z.jar file in the classpath.
For version matching relation, please refer to the dependent version in pom.
If you are using Maven, you could just add the following dependency to your pom.xml:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>latest version</version>
</dependency>
If you are using Spring Boot, You can refer to the pagehelper-spring-boot-starter
Documentation
Spring integration sample
Submit BUG
https://github.com/pagehelper/Mybatis-PageHelper/issues/new
微信公众号

Thank you for your support
Buy the author a cup of coffee!


Author Info
Web: https://mybatis.io
Blog: http://blog.csdn.net/isea533
Email: [email protected]
PageHelper on github:https://github.com/pagehelper/Mybatis-PageHelper
PageHelper on gitosc:http://git.oschina.net/free/Mybatis_PageHelper
MyBatis-3
MyBatis 专栏:
Thanks to all the people who already contributed!
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,580 starspublic-apis/public-apis
A collective list of free APIs
497,899 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
449,583 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,300 stars