From f57bbca3f61efad815236ca6df9959b4227a8008 Mon Sep 17 00:00:00 2001 From: nieqiurong Date: Thu, 26 Oct 2023 23:24:05 +0800 Subject: [PATCH] =?UTF-8?q?Update=2012.=E6=B5=81=E5=BC=8F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\265\201\345\274\217\346\237\245\350\257\242.md" | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git "a/docs/01.\346\214\207\345\215\227/03.\346\211\251\345\261\225/12.\346\265\201\345\274\217\346\237\245\350\257\242.md" "b/docs/01.\346\214\207\345\215\227/03.\346\211\251\345\261\225/12.\346\265\201\345\274\217\346\237\245\350\257\242.md" index e224bede..508b82eb 100644 --- "a/docs/01.\346\214\207\345\215\227/03.\346\211\251\345\261\225/12.\346\265\201\345\274\217\346\237\245\350\257\242.md" +++ "b/docs/01.\346\214\207\345\215\227/03.\346\211\251\345\261\225/12.\346\265\201\345\274\217\346\237\245\350\257\242.md" @@ -9,15 +9,22 @@ article: false - 功能为Mybatis原生功能,通过ResultHandler进行结果集流式查询 - 适用数据跑批或大数据业务处理场景 - BaseMapper新增重载方法 `selectList`,`selectByMap`,`selectBatchIds`,`selectMaps`,`selectObjs` -- 低版本下ResultHandler结合分页会出现错误,需要手动将count查询关闭 [分页插件问题无法正确处理使用ResultHandler参数的查询接口](https://github.com/baomidou/mybatis-plus/issues/5691#top) +- 低版本下自定义ResultHandler结合分页会出现错误,需要手动将count查询关闭 [分页插件问题无法正确处理使用ResultHandler参数的查询接口](https://github.com/baomidou/mybatis-plus/issues/5691#top) -## 示例 +# 常用方法 + +- getResultObject: 获取数据库每一条记录 +- getResultCount: 获取下一条结果集都会滚动+1, 等同于下标记录,从1开始 +- stop: 停止继续处理,等同于break出去 + +# 使用示例 ```java // 结合分页,按批次从数据库拉去数据出来跑批,例如从数据库获取10w记录,做数据处理 Page page = new Page<>(1, 100000); baseMapper.selectList(page, Wrappers.emptyWrapper(), resultContext -> { // 依次得到每条业务记录 + System.out.println("当前处理第" + resultContext.getResultCount() + "条记录."); H2User h2User = resultContext.getResultObject(); System.out.println(h2User); //做自己的业务处理,比如分发任务 @@ -26,6 +33,7 @@ baseMapper.selectList(page, Wrappers.emptyWrapper(), resultContext -> { // 从数据库获取表所有记录,做数据处理 baseMapper.selectList(Wrappers.emptyWrapper(), resultContext -> { // 依次得到每条业务记录 + System.out.println("当前处理第" + resultContext.getResultCount() + "条记录."); H2User h2User = resultContext.getResultObject(); System.out.println(h2User); //做自己的业务处理,比如分发任务