pageHelper方言不支持怎么办

首先可以查阅一下 使用自定义方言,参考链接如下:自定义方言

然还有一种更简单方式,代码如下:

PageAutoDialect.registerDialectAlias("dm6", OracleDialect.class);

此处代码在SqlSessionFactory创建之后执行即可。

原理说明:使用pageHelper,不支持分页那么很明显,你使用的数据库非常规数据库了,例如我上面这个例子使用的是国产达梦数据库,所以它不支持。
达梦数据库的jdbc配置连接如下:

     driverClassName: dm6.jdbc.driver.DmDriver
     url: jdbc:dm6://127.0.0.1:12345/PSIDP

所以我的第一个参数是dm6

至于第二个参数为什么是 OracleDialect.class,很明显,查了下官方手册,国产达梦数据库底层实现逻辑跟Oracle最像,所以使用了 OracleDialect.class

使用该方法,需要查查使用的非常规数据库的分页方式最像那个数据可了。

看了下源码,此处方言还支持以下数种:当前使用的是pagehelper-5.1.4.jar这个版本。

        registerDialectAlias("hsqldb", HsqldbDialect.class);
        registerDialectAlias("h2", HsqldbDialect.class);
        registerDialectAlias("postgresql", HsqldbDialect.class);
        registerDialectAlias("phoenix", HsqldbDialect.class);
        registerDialectAlias("mysql", MySqlDialect.class);
        registerDialectAlias("mariadb", MySqlDialect.class);
        registerDialectAlias("sqlite", MySqlDialect.class);
        registerDialectAlias("oracle", OracleDialect.class);
        registerDialectAlias("db2", Db2Dialect.class);
        registerDialectAlias("informix", InformixDialect.class);
        registerDialectAlias("informix-sqli", InformixDialect.class);
        registerDialectAlias("sqlserver", SqlServerDialect.class);
        registerDialectAlias("sqlserver2012", SqlServer2012Dialect.class);
        registerDialectAlias("derby", SqlServer2012Dialect.class);

猜你喜欢

转载自blog.csdn.net/pengain/article/details/113246817