Mybatis游标查询大量数据的方法是什么


这篇文章主要讲解了“Mybatis游标查询大量数据的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mybatis游标查询大量数据的方法是什么”吧!对大量数据进行处理时,为防止内存泄漏情况发生,所以采用mybatis plus游标方式进行数据查询处理,当查询百万级的数据的时候,使用游标可以节省内存的消耗,不需要一次性取出所有数据,可以进行逐条处理或逐条取出部分批量处理使用Cursor类型进行数据接收@Options,fetchSize设置为Integer最小值@Select,写查询sql数据处理forEach方式迭代器使用完毕后,在finally块释放资源,否则游标不关闭也可能会导致内存溢出问题当查询百万级的数据的时候,查询出所有数据并放入内存中时会发生OOM(OutOfMemoryException),使用游标可以节省内存的消耗,不需要一次性取出所有数据,可以进行逐条处理或逐条取出部分批量处理,在此场景下就可以使用游标的概念来解决这个问题。游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。Demo:ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。注意:游标是可以前后移动的。如果resultSetType = TYPE_SCROLL_INSENSITIVE ,就是设置游标就可以前后移动。Mybatis为了保证可以前后移动,Mybatis会把之前查询的数据一直保存在内存中。所以并不能根本解决OOM,所以我们这里需要设置为@Options(resultSetType = ResultSetType.FORWARD_ONLY)(其实默认就是ResultSetType.FORWARD_ONLY)感谢各位的阅读,以上就是“Mybatis游标查询大量数据的方法是什么”的内容了,经过本文的学习后,相信大家对Mybatis游标查询大量数据的方法是什么这一免费云主机域名问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: PostCSS和cssnext的知识点有哪些

本文小编为大家详细介绍“PostCSS和cssnext的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“PostCSS和cssnext的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。PostCSS 是使用 j…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/17 17:13
下一篇 01/17 17:14

相关推荐