mysql pager cat_Pager分页结果问题

发现一个怪现象,同样的代码,就是切换一个数据源,第一页(首页)都是正常的,但是第二页开始分页效果达不到预期,第二页往后只显示一条数据。

场景是按每页20行数据获取数据

首先,这个在mysql数据库是正常的,生成的sql是第一页

select * from tablename limit 0,20

第二页

select * from tablename limit 20,20

debug跟了返回结果和显示是正常的。

debug跟的:

第一页:

dao.execute(sql)前pager是:size:20, total: 0, page: 1/0 (pageCount=0, pageNumber=1, pageSize=20, recordCount=0)

dao.execute(sql)后pager是:size:20, total: 0, page: 1/0 (pageCount=0, pageNumber=1, pageSize=20, recordCount=0)

第二页:

dao.execute(sql)前pager是:size:20, total: 0, page: 2/0 (pageCount=0, pageNumber=2, pageSize=20, recordCount=0)

dao.execute(sql)后pager是:size:20, total: 0, page: 2/0 (pageCount=0, pageNumber=2, pageSize=20, recordCount=0)

但是切换到hive2,数据表结构一模一样,就是数据源切换了一下,

生成的sql第一页

select * from tablename limit 0,20

第二页

select * from tablename limit 20,20

第一页显示正常,第二页开始往后只第一条,然后单独拿这个sql去手工查询数据库,返回的是20条记录。

debug跟的:

第一页:

dao.execute(sql)前pager是:size:20, total: 0, page: 1/0 (pageCount=0, pageNumber=1, pageSize=20, recordCount=0)

dao.execute(sql)后pager是:size:20, total: 20, page: 1/1 (pageCount=1(红色字体), pageNumber=1, pageSize=20, recordCount=20(红色字体))

第二页:

dao.execute(sql)前pager是:size:20, total: 0, page: 2/0 (pageCount=0, pageNumber=2, pageSize=20, recordCount=0)

dao.execute(sql)后pager是:size:20, total: 20, page: 2/1 (pageCount=1(红色字体), pageNumber=2, pageSize=20, recordCount=20(红色字体))

唯一找到的规律是,mysql的sql执行前后pager对象不变,hive2的sql执行后pager对象属性变了。

因为hive2的基本语法和mysql一样,所以默认用的是mysql的JdbcExpert。

不知道这个怎么修改呢?jdbc驱动包的问题吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值