场景:PageHelper 的默认分页方案是 select count(0) from (你的sql) table_count
由于查询数据比较大时,导致分页查询效率低下。
优化:使用自定义的count查询。、
废话不多说,对应代码如下:
这个时候会使用自定义的 count sql进行统计查询。
然后一般分页默认使用 PageHelper.startPage();
作者优化:如果获取的数量大于实际数量,则进行pageNum优化。
所以 最好建议重载 startPage。 不进行优化!!! 要不然莫名其妙的分页失效。每次都能查出数据。
补充知识:在mybatis-plus中使用分页插件做分页出现的问题
在使用mybatis-plus中使用分页插件做自定义XML分页查询的时候,自己定义的XML中的SQL后面多了一个分号,各种查不到,也没有报错。最后定位到是一个分号的问题!
理论上使用mybatis里面写sql最后是不能带分号的。
但是mybatis-plus中其他的查询带分号都没有事,只有这个分页查询,分页的page对象一传进去之后就查不到结果,这个坑找了好长时间
以上这篇浅谈Mybatis分页插件,自定义分页的坑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/196872/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)