关于PageHelper5.1.4插件分页失败的原因之一
懒得看的可以直接翻到最下面的结论:
按照网上教程配置MyBatis PageHelper插件,提示失败
提示错误
查阅源码可知最新的PageHelper插件拦截器的dialect属性需继承Dialect类,value应为Dialect子类的全限定名。如下所示:
查看源码可知Dialect之类如下:
这里我用的是MySQL数据库,所以方言是MySQLDialect,因此配置plugin如下:
再次进行测试,结果如下:
显而易见,虽然没有报错,但程序也没有实现分页效果,于是阅读源码发现以下:
而我们配置的方言类MySqlDialect中的skip方法实现如下:
猜想PageHelper会进行自动配置,查看默认的Dialect:
查看PageHelper中skip方法的实现:
autoDialect应该就是自动配置的数据库方言