一切福田,不離方寸,從心而覓,感無不通。

通过Mybatis的流式查询ResultHandler解决超大Excel导出内存溢出问题

在项目开发过程导出Excel为常用功能,之前的一篇Java导出超大Excel文件,防止内存溢出已经解决了Excel写入层面时的内存问题,但数据库查询层面,仍存在由于默认的mybatis查询是将所有数据都查询到本地内存,因此仍有可能会导致内存溢出,因此本文再详细介绍记录通过mybatis的ResultHander进行流式查询读取来完全解决excel的大量数据导出内存溢出问题。

龙生   10 May 2024
View Details

一文搞懂Mybatis数据流式查询

MyBatis是一款非常流行的Java ORM框架,它支持通过XML或注解的方式进行SQL语句的编写和查询。MyBatis也支持数据流式查询,可以通过ResultSetHandler和StreamingStatementHandler实现数据流式输出。

龙生   10 May 2024
View Details

Mybatis/Mybatis-Plus 使用流式查询优化大量数据导出

相信小伙伴们工作当中肯定会经常遇到导出数据的需求,做这个导出需求的话相信大家肯定很多人用easypoi工具包,这个工具包用起来是真的方便,爽。但是如果数据量大,产品又要你导出很多数据,这时候就不爽了,因为如果数据量大的话,服务器配置又不是很高,那么很容易就把服务器导挂了。今天就教大家一招(有能力的小伙伴也可以自行研究使用其它方式优化导出),使用mybatis/mybatis-plus中的流式查询结合阿里的easyexcel做到一边查询一边写入流的方式优化大量数据导出,这样做写入流后的数据内存就可以释放出来,从而降低jvm的内存使用率。

龙生   10 May 2024
View Details