mybatis中mysql流式读取_MyBatis读取大量数据(流式读取)
## 一、背景
导出大量数据时,虚拟机频繁GC,内存耗尽,CPU爆满,可采用Mybatis数据流式读取进行优化。
## 二、JDBC三种读取方式:
1. 一次全部(默认):一次获取全部。
2. 流式:多次获取,一次一行。
3. 游标:多次获取,一次多行。
mybatis默认采取第一种。
## 三、实现
### 1. Business层
```java
//最终查询的List结果
List financePackageFutureList = new ArrayList<>();
financeOrderDao.seachDataList(financeOrderPackageRequestVO, new ResultHandler() {
@Override
public void handleResult(ResultContext extends FinancePackageFutureResponseVO> resultContext) {
/**回调处理逻辑 */
financePackageFutureList.add(resultContext.getResultObject());
}
});
```
### 2. Dao层
```java
/**
* 流式读取数据
* @param financeOrderPackageRequestVO 查询对象
* @param handler 回调处理
*/
void
seachDataList(FinanceOrderPackageRequestVO
financeOrderPackageRequestVO,
ResultHandler handler);
```
### 3. Mapper层
```java
select i.created_date as createdDate, i.orde_order_inside_no as ordeOrderInsideNo from fina_finance_order_item_expense e
```
mybatis中mysql流式读取_MyBatis读取大量数据(流式读取)相关推荐
- mybatis查询mysql数据库很慢_mybatis查询大量数据库
初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...
- python怎么读取csv的一部分数据_python批量读取csv文件 如何用python将csv文件中的数据读取成数组...
如何用python把多个csv文件数据处理后汇总到新csv文件你看这月光多温柔,小编转头还能看见你,一切从未坍塌. 可以用pandas读取数据,首先把文件方同一个文件价里,然后对当前文件价的所有内容循 ...
- mybatis中mysql转义讲解
本文为博主原创,未经允许不得转载: 在mybatis中写sql的时候,遇到特殊字符在加载解析的时候,会进行转义,所以在mybatis中 写sql语句的时候,遇到特殊字符进行转义处理. 需要注意的是,转 ...
- python如何读取tfrecord_TFRecord格式存储数据与队列读取实例
Tensor Flow官方网站上提供三种读取数据的方法 1. 预加载数据:在Tensor Flow图中定义常量或变量来保存所有数据,将数据直接嵌到数据图中,当训练数据较大时,很消耗内存. 如 x1=t ...
- php可以实现响应式吗,怎么实现Vue数据响应式
这次给大家带来怎么实现Vue数据响应式,实现Vue数据响应式的注意事项有哪些,下面就是实战案例,一起来看一下. 前言 Vue的数据响应主要是依赖了Object.defineProperty(),那么整 ...
- 在mybatis用mysql的代码块_mybatis plus与mysql分库组件mycat的结合
之前的文章简单介绍了一下mybatis plus:<使用Mybatis-plus代替原生Mybatis>.截止目前在项目中使用了一段时间的mybatis plus,再也没有写过sql,都用 ...
- mybatis中mysql ON DUPLICATE KEY UPDATE写法
2019独角兽企业重金招聘Python工程师标准>>> <insert id="batchInsertFansInfo" parameterType=&qu ...
- java读取excrl模板填充数据,spring mvc 读取excel模板填充数据下载
需求: 将订单信息导出到excel中,存在excel模板,需要向其中添加数据. 技术选型: 对于excel操作,使用apache poi包.到maven repository找poi最新的发行包. 搜 ...
- mybatis 中#与$的区别
2019独角兽企业重金招聘Python工程师标准>>> MyBatis中#和$的区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #u ...
最新文章
- 电脑svchost进程占用内存
- Python配置pip国内镜像源
- 电机编码器调零步骤_BLDC电机换向方法解析
- iqc工作职责和工作内容_监理工程师工作职责
- android单选按钮空值,Android的 - 空指针异常的对话与单选按钮
- DataGridView 禁用自动生成列
- 多重背包(dp专题)
- 为什么把钱花在别人身上更幸福?
- 《C++游戏开发》笔记十三 平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法...
- 阿里云oss权限控制,上传下载测试
- AGV项目底层总结二
- 【黑灰产犯罪研究】恶意注册
- IKEv2的密钥计算方式
- JETT(一)-Excel模板转换器简介
- 心情札记 --- 人活着是为了天天开心快乐, 去憧憬和实现一切美好的事物
- Adobe全家桶功能介绍
- python外国人也用吗_再也不怕和老外交流了!我用python实现一个微信聊天翻译助手!...
- OTB数据集和VOT数据集融合跟踪算法接口示例
- Matlab2019 slrt(XPC)目标机U盘启动
- GSWiFi路由器苹果安卓手机辅助连接通用方法-网线版(图文教程)
热门文章
- 程序、进程以及线程的爱恨情仇
- 【数据结构-查找】2.字符串(逐步演绎过程,超级详解KMP算法)
- TensorFlow数据统计
- 为什么同样是上亿的并发,购票系统就要比电商系统技术挑战更大?
- 彻底理解 Spring 容器和应用上下文
- Tomcat maven 插件启动出现tomcat\conf\tomcat-users.xml cannot be read异常解决方法
- HTML自学教程--一天搞定HTML(总结)
- Java IO流之普通文件流和随机读写流区别
- 类对接口的实现不叫继承_Java多态的实现机制是什么,看完你就知道(值得收藏)...
- c++ map中用char数组_C开发实战-指针和字符串