![MyBatis Pagination - PageHelper](logo.png) # MyBatis Pagination - PageHelper [![Build Status](https://travis-ci.org/pagehelper/Mybatis-PageHelper.svg?branch=master)](https://travis-ci.org/pagehelper/Mybatis-PageHelper) [![Maven central](https://maven-badges.herokuapp.com/maven-central/com.github.pagehelper/pagehelper/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.pagehelper/pagehelper) [中文版文档](README.md) 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**](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/Important.md). Want to use PageHelper? Please check out [**How to use PageHelper**](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md). ## New JavaDoc https://apidoc.gitee.com/free/Mybatis_PageHelper APIs: https://apidoc.gitee.com/free/Mybatis_PageHelper/com/github/pagehelper/page/PageMethod.html ## 《MyBatis 从入门到精通》 ![MyBatis 从入门到精通](https://github.com/mybatis-book/book/raw/master/book.png) [京东](https://item.jd.com/12103309.html) ,[当当](http://product.dangdang.com/25098208.html) ,[Amazon](https://www.amazon.cn/MyBatis从入门到精通-刘增辉/dp/B072RC11DM/ref=sr_1_18?ie=UTF8&qid=1498007125&sr=8-18&keywords=mybatis) CSDN Blog:http://blog.csdn.net/isea533/article/details/73555400 GitHub:https://github.com/mybatis-book/book ## Support [MyBatis 3.1.0+](https://github.com/mybatis/mybatis-3) ## PageHelper 6 Support jdk8+ ## PageHelper 5 Support jdk6+ ## Physical Paging PageHelper supports the following databases [PageAutoDialect](src/main/java/com/github/pagehelper/page/PageAutoDialect.java): ```java 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 `dialectAlias` parameter. > > 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): > >```xml > > > > > >``` ## Use [QueryInterceptor spec](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/src/main/java/com/github/pagehelper/QueryInterceptor.java) ## Installation To use PageHelper, you just need to include the [pagehelper-x.y.z.jar](http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/) and [jsqlparser-x.y.z.jar](http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/) 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`: ```xml com.github.pagehelper pagehelper latest version ``` If you are using Spring Boot, You can refer to the [pagehelper-spring-boot-starter](https://github.com/pagehelper/pagehelper-spring-boot) [More...](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md) ## Documentation - [How to use the PageHelper](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md) - [Changelog](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/Changelog.md) - [Important note](https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/Important.md) ## Spring integration sample - [Integration Spring 3.x](https://github.com/abel533/Mybatis-Spring/tree/spring3.x) - [Integration Spring 4.x](https://github.com/abel533/Mybatis-Spring) - [Integration Spring Boot](https://github.com/abel533/MyBatis-Spring-Boot) ## 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: abel533@gmail.com PageHelper on github:https://github.com/pagehelper/Mybatis-PageHelper PageHelper on gitosc:http://git.oschina.net/free/Mybatis_PageHelper ## MyBatis-3 - Project:https://github.com/mybatis/mybatis-3 - Document:https://mybatis.org/mybatis-3/index.html MyBatis 专栏: - [MyBatis Sample](http://blog.csdn.net/column/details/mybatis-sample.html) - [MyBatis QA](http://blog.csdn.net/column/details/mybatisqa.html) ## Thanks to all the people who already contributed!