确认

  • [X] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
  • [X] 我已经在 issue 中搜索过, 确认问题没有被提出过
  • [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题

当前程序版本

3.5.7

问题描述

使用mapper的selectList配合流式查询,分页插件,并没有自动翻页查出所有数据。

/**
 * 分页插件配置
 */
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    // 分页
    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
    return interceptor;
}

示例代码如下,预期查出15条记录,分页大小是10,没有自动翻页查询剩下的5条

LambdaQueryWrapper<ActivitySignup> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ActivitySignup::getActivityId, 1232627);
Page<ActivitySignup> page = new Page<>(1, 10);
// page.setSearchCount(false);
activitySignupMapper.selectList(page, queryWrapper, new ResultHandler<>() {
    int count = 0;
    @Override
    public void handleResult(ResultContext<? extends ActivitySignup> resultContext) {
        ActivitySignup activitySignup = resultContext.getResultObject();
        System.out.println("当前处理第" + (++count) + "条记录: " + activitySignup);
        // 在这里进行你的业务处理,比如分发任务
    }
});

文档“流式查询”部分指出“需要注意的是,在低版本的 MyBatis-Plus 中,如果自定义 ResultHandler 结合分页查询,可能会出现错误。在这种情况下,需要手动关闭 count 查询。” 我用的是新版本,手动关闭searchCount,也没有自动分页查出第2页的数据。

是哪里配置问题吗?求指导。

详细堆栈日志

No response

Comment From: nieqiurong

没得自动翻页功能.

Comment From: VampireAchao

没得自动翻页功能.

Comment From: zhangyulai

没得自动翻页功能.

api写的“并翻页”不是自动翻页的意思? 2024-08-18_20

Comment From: VampireAchao

Please provide a Minimimal Reproducable Example, preferable as a Github repository. Make sure to include the database, either as an in memory database or if that is not possible using Testcontainers.

请提供一个最小可复现示例,最好作为一个 Github 仓库。请确保包括数据库,如果无法使用内存数据库,可以使用 Testcontainers