MyBatis-Plus MyBatis-Plus
首页
  • 快速入门
  • 核心功能
  • 扩展
  • 插件
  • 使用配置
  • 代码生成器配置新
  • 代码生成器配置旧
生态
问答
💖支持
  • 数据处理模块
  • 单体开发平台
  • 微服务开发平台
  • 插件式一体化开发平台
更新日志 (opens new window)
GitHub (opens new window)
首页
  • 快速入门
  • 核心功能
  • 扩展
  • 插件
  • 使用配置
  • 代码生成器配置新
  • 代码生成器配置旧
生态
问答
💖支持
  • 数据处理模块
  • 单体开发平台
  • 微服务开发平台
  • 插件式一体化开发平台
更新日志 (opens new window)
GitHub (opens new window)
  • 快速入门

    • 简介
    • 快速开始
    • 安装
    • 配置
    • 注解
    • 快速测试
  • 核心功能

    • 代码生成器(新)
    • 代码生成器(旧)
    • CRUD 接口
    • 条件构造器
    • 主键策略
    • 自定义ID生成器
    • 安全漏洞避免说明
  • 扩展

    • 逻辑删除
    • 通用枚举
    • 字段类型处理器
    • 自动填充功能
    • SQL注入器
    • 执行SQL分析打印
    • 数据安全保护
    • 多数据源
    • MybatisX快速开发插件
    • 企业高级特性
    • 脚本自动维护
    • 流式查询
    • 批量操作
  • 插件

    • 插件主体
    • 分页插件
    • 乐观锁插件
    • 多租户插件
    • 防全表更新与删除插件
    • 动态表名插件
    • 数据权限插件
    • 数据变动记录插件
    • 非法SQL拦截插件

流式查询

# 流式查询

  • 3.5.4 + 版本支持
  • 功能为Mybatis原生功能,通过ResultHandler进行结果集流式查询
  • 适用数据跑批或大数据业务处理场景
  • BaseMapper新增重载方法 selectList,selectByMap,selectBatchIds,selectMaps,selectObjs
  • 低版本下自定义ResultHandler结合分页会出现错误,需要手动将count查询关闭 分页插件问题无法正确处理使用ResultHandler参数的查询接口 (opens new window)

# 常用方法

  • getResultObject: 获取数据库每一条记录
  • getResultCount: 获取下一条结果集都会滚动+1, 等同于下标记录,从1开始
  • stop: 停止继续处理,等同于break出去

# 使用示例

// 结合分页,按批次从数据库拉去数据出来跑批,例如从数据库获取10w记录,做数据处理
Page<H2User> page = new Page<>(1, 100000);
baseMapper.selectList(page, Wrappers.emptyWrapper(), resultContext -> {
    // 依次得到每条业务记录
    System.out.println("当前处理第" + resultContext.getResultCount() + "条记录.");
    H2User h2User = resultContext.getResultObject();
    System.out.println(h2User);
    //做自己的业务处理,比如分发任务
});

// 从数据库获取表所有记录,做数据处理
baseMapper.selectList(Wrappers.emptyWrapper(), resultContext -> {
    // 依次得到每条业务记录
    System.out.println("当前处理第" + resultContext.getResultCount() + "条记录.");
    H2User h2User = resultContext.getResultObject();
    System.out.println(h2User);
    //做自己的业务处理,比如分发任务
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
帮助我们改善此页面! (opens new window)
上次更新: 2023/10/26, 15:24:05
脚本自动维护
批量操作

← 脚本自动维护 批量操作→

Theme by Vdoing | Copyright © 2016-2023 Team Baomidou | Sponsored by JetBrains | 渝ICP备2021000141号-1

友情链接:AiZuDa | D.Yang | NanCheung | apidocsBlog

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×