开发者社区> 问答> 正文

使用 PagerUtils.count方法有bug

使用方法:String result = PagerUtils.count(sql, JdbcConstants.MYSQL);

1、调用前SQL: select count(*) from (select DISTINCT u.username, u.phone from t_user u ) t

2、调用后生成:select DISTINCT count(*) from t_order t

当t_user表不只有username, phone字段时,则两条SQL执行的结果不一样

目前druid 版本为1.0.28,新版本号 1.1.2已经修复这个bug,请问从1.0.28升级到1.1.2对现有影响吗

原提问者GitHub用户oawang

展开
收起
山海行 2023-07-05 20:47:01 99 0
4 条回答
写回答
取消 提交回答
  • 根据您的问题描述,PagerUtils.count方法在Druid 1.0.28版本中存在一个bug,并且这个bug已经在更新的Druid版本中修复。因此,建议您将Druid版本升级到1.1.2或更高版本以解决这个bug。

    从1.0.28升级到1.1.2对现有应用程序可能会有一些影响,因为新版本的Druid可能会引入一些API变化。在升级之前,建议您仔细查看Druid的更新日志和文档,了解与您当前使用的功能相关的任何变化或注意事项。

    在升级之前,强烈建议您在测试环境中进行全面的测试,以确保升级后的Druid版本与您的应用程序兼容并且没有引入其他问题。如果您的应用程序依赖于Druid的其他功能或配置,请确保这些功能和配置在升级后仍然有效。

    总而言之,升级Druid版本是解决PagerUtils.count方法bug的推荐做法。但在升级之前,请做好相应的准备工作并做好充分的测试,以确保平稳地完成升级过程。

    2023-07-30 14:35:14
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    agerUtils是一个用于实现分页查询的工具类,它提供了一些常用的分页查询方法,例如count、query、page等。如果您在使用PagerUtils.count方法时遇到了问题,可能是由于不正确的参数或其他原因导致的。

    首先,您需要确保使用PagerUtils.count方法时传递了正确的参数。
    另外,如果您使用的是较旧版本的PagerUtils,可能会存在一些已知的问题或bug。在这种情况下,您可以尝试升级到最新版本的PagerUtils,或者使用其他的分页查询工具类。

    2023-07-30 13:26:21
    赞同 展开评论 打赏
  • Druid的1.0.28版本中存在一个bug,即使用PagerUtils.count方法时,可能会将SQL语句中的表名替换成全表扫描的语句。这个bug在新版本的Druid中已经被修复,因此如果你需要使用Druid的PagerUtils.count方法,建议升级到Druid的最新版本。
    升级到Druid的最新版本对现有的应用程序可能会有一定的影响,因为Druid的最新版本可能会使用不同的API来实现相同的功能。

    2023-07-11 10:22:23
    赞同 展开评论 打赏
  • 没影响,请升级。

    原回答者GitHub用户wenshao

    2023-07-06 11:45:39
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载