浅谈Mybatis分页插件,自定义分页的坑

场景:PageHelper 的默认分页方案是 select count(0) from (你的sql) table_count

由于查询数据比较大时,导致分页查询效率低下。

优化:使用自定义的count查询。、

废话不多说,对应代码如下:

浅谈Mybatis分页插件,自定义分页的坑

浅谈Mybatis分页插件,自定义分页的坑

这个时候会使用自定义的 count sql进行统计查询。

然后一般分页默认使用 PageHelper.startPage();

作者优化:如果获取的数量大于实际数量,则进行pageNum优化。

浅谈Mybatis分页插件,自定义分页的坑

所以 最好建议重载 startPage。 不进行优化!!! 要不然莫名其妙的分页失效。每次都能查出数据。

补充知识:在mybatis-plus中使用分页插件做分页出现的问题

在使用mybatis-plus中使用分页插件做自定义XML分页查询的时候,自己定义的XML中的SQL后面多了一个分号,各种查不到,也没有报错。最后定位到是一个分号的问题!

理论上使用mybatis里面写sql最后是不能带分号的。

但是mybatis-plus中其他的查询带分号都没有事,只有这个分页查询,分页的page对象一传进去之后就查不到结果,这个坑找了好长时间

以上这篇浅谈Mybatis分页插件,自定义分页的坑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

浅谈Mybatis分页插件,自定义分页的坑

扫一扫手机访问