MyBatis懒加载数据(大批量数据处理)

使用范例


Cursor约定使用Iterator去懒加载数据,以时间换空间,非常适合处理通常无法容纳在内存中的数百万个项目查询。如果在 resultMap 中使用集合,则必须使用 resultMap 的 id 列对游标 SQL 查询进行排序(resultOrdered=“true”)。

//为了避免bug,手动管理一个session
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {DDeviceShopIndexStatusMapper shopIndexStatusMapper = sqlSession.getMapper(DDeviceShopIndexStatusMapper.class);try (Cursor<DAlarmEventDTO> cursor = shopIndexStatusMapper.selectDevicesForShopClosed(commonProperties.getOpenShopStatus(), ABNORMAL.getCode())) {for (DAlarmEventDTO alarmEventDTO : cursor) {applicationContext.publishEvent(new DeviceShopClosedEvent(new Object(), alarmEventDTO));}} catch (IOException e) {log.error("shopStatusCheckJob cursor error:", e);}
}
============================
//方法定义
Cursor<DAlarmEventDTO> selectDevicesForShopClosed(@Param("shopStatus") List<String> shopStatus, @Param("status") Integer status);
============================
//xml写法与平常无异
<select id="selectDevicesForShopClosed" resultType="com.rome.device.monitor.admin.infrastructure.remote.dto.DAlarmEventDTO">select ddsb.device_key,....from d_device_detail dddleft join d_device_shop_bind ddsb on ddd.device_key = ddsb.device_key....where ....
</select>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

校园一体式气象站功能特点与应用

TH-XQ4随着教育理念的更新和科技的发展&#xff0c;校园一体式气象站在现代校园中的应用越来越广泛。它不仅为学生提供了实时、准确的气象数据&#xff0c;还成为了推动科学教育、培养学生实践能力和环保意识的重要工具。本文将从功能、特点和应用三个方面对校园一体式气象站进…

Python学习---利用Python操作数据库

如何理解连接connection和游标 cursor&#xff1f; connection就像是连接出发地和目的地的高速公路cursor就像是在高速公路上的货车-拉货我们使用游标就可以完成对数据的操作当我们完成操作完成后就可以停下货车&#xff0c;然后公路再停止使用。 pysql实现查询 ""…

WEB--基本了解

1.Typical Features of Web Applications The client (or user interface) runs in a web browser. 客户端(或用户界面)在web浏览器中运行。 Part of the application runs on a server, i.e. it isn’t a standalone application. 应用程序的一部分在服务器上运行&#xf…

【MySQL精通之路】SQL优化(1)-查询优化(9)-外部联接优化

主博客&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化-CSDN博客 上一篇&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化(8)-嵌套联接优化-CSDN博客 下一篇&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化(10)-外部联接简化-CSDN博客 外部联接包括LEFT JOIN和…

使用微信开发者工具真机调试的时候总是提示“tapShareButton WebviewId: xxxxx not foun ”

提示 机型 Android手机 调试型号 真机调试1.0 问题解决 由于真机调试1.0版本属于稳定版本&#xff0c;但是没想到会出现这个问题&#xff0c;所以想要解决真机调试的时候点击转发按钮调用 onShareAppMessage 方法的时候需要将真机调试切换至2.0版本。 onShareAppMessage 方…

【八股系列】为什么会有webpack配置?webpack的构建流程是什么?

文章目录 1. webpack是什么&#xff1f;2. 为什么需要webpack&#xff1f;3. webpack构建原理4. 构建流程通常包括以下步骤5. Webpack构建流程图 1. webpack是什么&#xff1f; Webpack是一个模块打包工具&#xff0c;它可以将项目中的各种静态资源&#xff0c;如JavaScript、…

JavaScript 新特性:新增声明命令与解构赋值的强大功能

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; ES5、ES6介绍 文章目录 &#x1f4af;声明命令 let、const&#x1f35f;1 let声明符&a…

【人工智能】数据分析与机器学习——泰坦尼克号(更新中)

1912年4月15日&#xff0c;泰坦尼克号在首次航行期间撞上冰山后沉没&#xff0c;船上共有2224名乘客和乘务人员&#xff0c;最终有1502人遇难。沉船导致大量伤亡的重要原因之一是&#xff0c;没有足够的救生艇给乘客和船员。虽然从这样的悲剧性事故中幸存下来有一定的运气因素&…

Flink任务自动恢复脚本

线上环境经常遇到flink任务挂掉得问题&#xff0c;这里写一个自动恢复脚本 # 我这里使用得datastream api编写的任务&#xff0c;类class路径 MAIN_CLASS"com.flink.job.CommonFlinkStreamJob" # 我的代码包 JAR_PATH"/home/dev/flink/lib/flink-cdc-1.0.jar&q…

微信小程序进阶(1)--自定义组件

自定义组件 1.1 什么是自定义组件 开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/ 小程序中常常会有些通用的交互模块&#xff0c;比如&#xff1a;下拉选择列表、搜索框、日期选择器等&#xff1b;这些界面交互模块可…

C-数据结构-动态库

/* 动态库基本实现 libxx.so xx是库名 .so 后缀 gcc -shared -fpic -o libxx.so yyy.c发布到 /usr/local/include/ /usr/local/lib在 /etc/ld.so.conf 中添加路径 /sbin/ldconfig 重读 /etc/ld.so.conf 为了上面的步骤生效 gcc -I/usr/local/include -L/usr/local/…

数据挖掘案例-航空公司客户价值分析

文章目录 1. 案例背景2. 分析方法与过程2.1 分析流程步骤2.2 分析过程1. 数据探索分析2. 描述性统计分析3. 分布分析1.客户基本信息分布分析2. 客户乘机信息分布分析3. 客户积分信息分布分析 4. 相关性分析 3. 数据预处理3.1 数据清洗3.2 属性约束3. 3 数据转换 4. 模型构建4. …

spring 指定bean id 来加载相同类名 不同包路径的bean 并使用set方法注入

业务场景&#xff0c;数据源可能是mysql也可能是impala。在mapper层级方法都是一样的。所以抽象出来一个父接口&#xff0c;再分别用mysql包下面的一个mapper和一个impala包mapper接口分别继承它。注意这俩mapper的beanid要区分开。 使用&#xff1a;首先有两个bean在不同的包…

超融合架构下,虚拟机高可用机制如何构建?

作者&#xff1a;SmartX 产品部 钟锦锌 虚拟机高可用&#xff08;High Availability&#xff0c;简称 HA&#xff09;是虚拟化/超融合平台最常用、关键的功能之一&#xff0c;可在服务器发生故障时通过重建业务虚拟机以降低故障对业务带来的影响。因此&#xff0c;为了充分保障…

ubuntu22.04下 easyconnect+输入法安装

先使用对应ubuntu版本的easyconnect安装 sudo dpkg -i EasyConnect_x64_7_6_7_3.deb 下载压缩包servicePack&#xff0c;并解压缩 cd 下载路径/servicePack sudo cp * /usr/share/sangfor/EasyConnect/ 打开easyConnect /usr/share/sangfor/EasyConnect/EasyConnect 此处…

pid中的d到底是什么意思?微分到底是用来做什么的,什么情况下用,避免入坑实际案例中的使用-----------PDI中的D阻尼调节

1,PID中表示的含义是什么? 比例&#xff08;proportional&#xff09;&#xff1a;放大比例-------表示现在 0.2 积分&#xff08;integral&#xff09;&#xff1a;误差积分------过去 0.04 微分 &#xff08;derivative&#xff09;&#xff1a;阻尼 ------未来 0.002 在调节…

IDEA设置运行内存

1.开启内存指示条​​​​​​​ 查看idea右下角​​​​​​​ 2.环境变量查看ideaVM地址&#xff0c;没有的话那就是默认的配置文件&#xff1a; idea 安装 bin 目录下 idea64.exe.vmoptions 3.去对应路径修改内存参数大小 4.重启IDEA&#xff0c;end

体育赛事直播系统源码开发:社区论坛模块如何实现引流与增收双赢

在当今数字化时代&#xff0c;体育直播平台不仅是赛事观看的窗口&#xff0c;更是一个互动和交流的社区&#xff0c;以及是一场关于用户体验、用户粘性以及商业模式创新的综合较量。为了在这片红海市场中脱颖而出&#xff0c;平台必须采取更加精细化和多元化的运营策略。其中&a…

前端命令行部署

最近接了一个项目&#xff0c;发版本需要把dist包给后端部署服务&#xff0c;再加上产品那边需求不稳定&#xff0c;改了又改&#xff0c;一天要发好几个&#xff0c;不仅跟我配合的后端不胜其烦&#xff0c;本人也是很烦。最近在网上看到一个npm自主部署的包–deploy cli工具&…