MyGit

pagehelper/Mybatis-PageHelper

Fork: 3124 Star: 11891 (更新于 1970-01-01 00:00:00)

license: MIT

Language: Java .

Mybatis通用分页插件

最后发布版本: v6.0.0 ( 2023-11-05 11:52:39)

官方网址 GitHub网址

MyBatis Pagination - PageHelper

MyBatis 分页插件 - PageHelper

Build Status Maven central

English

如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。

分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示

想要使用分页插件?请看如何使用分页插件

《MyBatis 从入门到精通》

MyBatis 从入门到精通

京东当当亚马逊

CSDN博客:http://blog.csdn.net/isea533/article/details/73555400

GitHub项目:https://github.com/mybatis-book/book

支持 MyBatis 3.1.0+

PageHelper 6 支持 jdk8+

PageHelper 5 支持 jdk6+

物理分页

该插件目前支持以下数据库的物理分页 PageAutoDialect:

static {
        //注册别名
        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);
        //解决 informix-sqli #129,仍然保留上面的
        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
        //想要实现和以前版本相同的效果时,可以配置 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);
        //不配置时,默认使用 DataSourceNegotiationAutoDialect
        registerAutoDialectAlias("default",DataSourceNegotiationAutoDialect.class);
        }

如果你使用的数据库不在这个列表时,你可以配置 dialectAlias 参数。

这个参数允许配置自定义实现的别名,可以用于根据 JDBCURL 自动获取对应实现,允许通过此种方式覆盖已有的实现,配置示例如(多个配置时使用分号隔开):

<property name="dialectAlias" value="oracle=com.github.pagehelper.dialect.helper.OracleDialect"/>
<!-- 6.0支持下面的引用方式,引用 Oracle9iDialect.class 的实现 -->
<property name="dialectAlias" value="oracle=oracle9i"/>
<!-- 6.0支持下面的引用方式,达梦使用oracle语法分页,简化类全名写法 -->
<property name="dialectAlias" value="dm=oracle"/>

使用 QueryInterceptor 规范

Executor 拦截器高级教程 - QueryInterceptor 规范

集成

使用 PageHelper 你只需要在 classpath 中包含 pagehelper-x.y.z.jarjsqlparser-x.y.z.jar

pagehelper 和 jsqlparser 对应关系参考 pom.xml 中的依赖版本。

如果你使用 Maven,你只需要在 pom.xml 中添加下面的依赖:


<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>最新版本</version>
</dependency>

如果你使用 Spring Boot 可以参考: pagehelper-spring-boot-starter

继续查看配置和用法

文档:

Spring 集成示例

提交 BUG

https://github.com/pagehelper/Mybatis-PageHelper/issues/new

项目的发展离不开你的支持

请作者喝杯咖啡吧!

作者信息

网站:https://mybatis.io

作者博客:http://blog.csdn.net/isea533

作者邮箱: abel533@gmail.com

如需加群,请通过 http://mybatis.io 首页按钮加群。

本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper

本项目在 gitosc 的项目地址:http://git.oschina.net/free/Mybatis_PageHelper

MyBatis-3

  • 项目:https://github.com/mybatis/mybatis-3
  • 文档:http://mybatis.github.io/mybatis-3/zh/index.html

MyBatis 专栏:

最近版本更新:(数据更新于 1970-01-01 00:00:00)

2023-11-05 11:52:39 v6.0.0

2023-06-03 11:26:40 v5.3.3

2022-09-19 00:07:18 v5.3.2

2022-06-14 23:08:22 v5.3.1

2021-10-08 11:12:05 v5.3.0

2021-06-20 22:42:33 v5.2.1

2020-07-27 21:45:00 v5.2.0

2019-11-27 10:03:03 v5.1.10

2019-11-27 10:01:23 v5.1.11

2018-09-04 22:02:54 v5.1.6

主题(topics):

mybatis, mybatis-plugin

pagehelper/Mybatis-PageHelper同语言 Java最近更新仓库

2024-10-04 22:44:02 tronprotocol/java-tron

2024-10-04 14:22:57 apache/mina-sshd

2024-10-03 23:03:18 Eanya-Tonic/CCTV_Viewer

2024-10-02 13:21:56 apache/dubbo

2024-10-01 06:18:31 testcontainers/testcontainers-java

2024-10-01 04:58:51 dromara/dante-cloud