Mybatis-PageHelper icon indicating copy to clipboard operation
Mybatis-PageHelper copied to clipboard

5.3.0的PageHelper中只要默认给定pageSize=0,配置的supportMethodsArguments=true就不生效,不默认查所有

Open Yikeji opened this issue 3 years ago • 6 comments

  • [x] 我已在 issues 搜索类似问题,并且不存在相同的问题.

异常模板

使用环境

  • PageHelper 版本: 5.3.0
  • 数据库类型和版本: MysqL
  • JDBC_URL: com.alibaba.druid.pool.DruidDataSource

分页参数

PageHelper.startPage(0, 0);
xxMapper.select(model);

pagehelper: supportMethodsArguments: true

在5.3.0的版本中,配置的supportMethodsArguments=true 默认如果pageSize=0时,查询所有的数据,但是如果在实体类中出现pageSize属性,本身不想分页的内容,结果不继续执行查询语句,在select count(0) 后就不再进行继续执行了

Yikeji avatar Nov 11 '21 02:11 Yikeji

我也出现类似问题,supportMethodsArguments没有配置,5.1.9版本,PageHelper.startPage(0, 0)会查所有数据; 5.3.0不查数据; 我想知道是否是有意为之,从哪个版本开始的?为什么这么改?

ykfs avatar Mar 04 '22 05:03 ykfs

@ykfs 你和上面发的应该不是一回事。你的 pageSizeZero 配置的是什么?如果是 true结果就是对的。

另外startPage 第一页是 1,不是0.。。如果没有配置 reasonable 合理化,超出范围时,查询是没有数据的。

abel533 avatar Mar 04 '22 08:03 abel533

@ykfs 你和上面发的应该不是一回事。你的 pageSizeZero 配置的是什么?如果是 true结果就是对的。

另外startPage 第一页是 1,不是0.。。如果没有配置 reasonable 合理化,超出范围时,查询是没有数据的。

@abel533 pageSizeZero和reasonable都没配置,都是默认值; 但是5.1.9是可以查询出所有数据,5.3.0是没有数据的; 我知道第一页是1,这个PageHelper.startPage(0, 0)是不规范的用法,但是现在是新的版本行为和老版本不一致了,问题影响面比较大

ykfs avatar Mar 07 '22 11:03 ykfs

可以看看更新日志,不一样是低版本的逻辑有bug。。解决后的高版本看着就不一样了。

abel533 avatar Mar 08 '22 13:03 abel533

@abel533 那也应该开通一些参数,能够兼容低版本的原有形式,这种不兼容的改造,就没法升级了,这种也不是bug,就是固定0,0返回的形式,可以固定是有结果返回,也可以固定没结果,但是应该是要向下兼容的,至少也要有参数支持兼容

ykfs avatar Mar 09 '22 02:03 ykfs

@abel533 另外更新日志中的内容太多了,能具体说下是哪块逻辑的改造,影响了0,0的表现形式吗

ykfs avatar Mar 09 '22 02:03 ykfs