MyBatis大数据量流式数据查询、数据导出的方法
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍"MyBatis大数据量流式数据查询、数据导出的方法",在日常操作中,相信很多人在MyBatis大数据量流式数据查询、数据导出的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2024年09月22日MyBatis大数据量流式数据查询、数据导出的方法
这篇文章主要介绍"MyBatis大数据量流式数据查询、数据导出的方法",在日常操作中,相信很多人在MyBatis大数据量流式数据查询、数据导出的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MyBatis大数据量流式数据查询、数据导出的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
如果需要导出大数据量到文件中,一次性查询百万或者千万以上数据到内存,可能会导致JVM直接内存溢出崩溃。即使不崩溃,也会导致JVM频繁GC,验证影响速度与稳定性!
因此采用流式导出,一边查询一边向文件写入。
以导出excel为例:
数据读取:
public File exportExcel(Integer userId) { excel=openExcel(); locationViewDao.getListForExcel(userId, new ResultHandler() { @Override public void handleResult(ResultContext extends ListForExcelMap> resultContext) { ListForExcelMap row = resultContext.getResultObject(); excel.append(row); } }); return excel.build();}
DAO定义:
void getListForExcel(@Param("userId")Integer userId, ResultHandlerhandler);
注意: 返回一定得是void,并且参数里一定有ResultHandler,这样MyBatis才会认为是流式查询
Mapper定义:
参数必须设置为
resultSetType="FORWARD_ONLY"
参数必须设置为
fetchSize="-2147483648"
如果不想返回对象,可以将
resultMap="listForExcelMap"
改成resultType="java.util.Map"
返回Map
到此,关于"MyBatis大数据量流式数据查询、数据导出的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数据
查询
方法
数据查询
学习
参数
内存
文件
更多
帮助
实用
频繁
接下来
一次性
对象
文章
理论
知识
稳定性
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全归哪个部门监管
世界三大服务器生产厂商
数据库技术概述总结
软件开发的票怎么入账
网络安全协调机构建立
centos7 部署文件服务器
网络技术韩国
服务器安全证书过期了
网络安全需要我们的共同关注
河北银行软件开发公司有哪些
网络安全伴我行文字
doors数据库
嘉定区网络软件开发厂家价格
山东兆物网络技术怎么样
mysql获取所有数据库
联动天下 服务器管理专家
数据库的检测
公安部网络安全保卫局山东
网络安全博士学什么意思
服务器 web
csgo完美平台服务器选择
软件开发公司增值税的计算
网络安全管理规定试行16条
数据库学习哪里好
梵蒂冈服务器
django 服务器管理
怎么清理加密数据库
雅思报考软件开发
网络安全行业秘密
南柠互联网金融科技公司