jsp查询大批量数据相关

时间:2021-02-25 21:44:00
各位大侠:

小弟现在遇到一个问题,我从数据库查询出的数据有100w左右,一次性查询报内存溢出。参考其他资料说要分段
取出后再写到Excel中,我的需求是点击按钮后分段取出数据不用在页面显示,直接生成一个Excel文件,可以分多个sheet保存,现在就是不知道这个分段取数据的代码如何写,拜托各位大侠能够给提供一个完整的源码实例,不胜感激啊!非常着急,望有相关代码的达人们不吝赐教!

12 个解决方案

#1


该回复于2013-05-21 12:02:56被管理员删除

#2


引用 楼主 u010689420 的回复:
各位大侠:

小弟现在遇到一个问题,我从数据库查询出的数据有100w左右,一次性查询报内存溢出。参考其他资料说要分段
取出后再写到Excel中,我的需求是点击按钮后分段取出数据不用在页面显示,直接生成一个Excel文件,可以分多个sheet保存,现在就是不知道这个分段取数据的代码如何写,拜托各位大侠能够给提供一个完整的源码实例,不胜感激啊!非常着急,望有相关代码的达人们不吝赐教!


分段是这样的意思,你先查询出总记录数,例如是110W,然后分段根据这个数值分段1-1000,1001-xxx,类推,就像分页一样,查询出来就插入到excel里,后面查询出来就继续添加到之前那些数据后面,然后就没问题了,具体的分段数量根据你根据具体情况来吧

#3


该回复于2013-05-21 13:11:31被管理员删除

#4


直接用jdbc

再 循环 resultset 的时候不要封装数据,直接把数据写文件里。

#5


意思我明白了,就是sql语句及jsp代码这该怎么写我不清楚,本人菜鸟,能给我提供个源代码供参考吗?在这跪谢各位达人了。

#6


for (int i = 0, leni = str.length; i < leni; i++) 用循环,分配每次取出多少条记录存放一个表单中

#7


真不好意思,这个看不太懂,能有完整点的代码吗?

#8


这个比较简单,在方法里做两个变量start、size、每次重start位置看是,到start+size位置结束,然后把start赋值为start+size,下次再从start看是。。。。。

#9


jsp查询大批量数据相关超级缓存

#10


直接用sql取分段的记录,数据库不同,写法有所区别。。。

#11


内存放的大大的,估计能一次全查询,而且不内存溢出!

#12


该回复于2013-05-21 14:28:10被管理员删除

#1


该回复于2013-05-21 12:02:56被管理员删除

#2


引用 楼主 u010689420 的回复:
各位大侠:

小弟现在遇到一个问题,我从数据库查询出的数据有100w左右,一次性查询报内存溢出。参考其他资料说要分段
取出后再写到Excel中,我的需求是点击按钮后分段取出数据不用在页面显示,直接生成一个Excel文件,可以分多个sheet保存,现在就是不知道这个分段取数据的代码如何写,拜托各位大侠能够给提供一个完整的源码实例,不胜感激啊!非常着急,望有相关代码的达人们不吝赐教!


分段是这样的意思,你先查询出总记录数,例如是110W,然后分段根据这个数值分段1-1000,1001-xxx,类推,就像分页一样,查询出来就插入到excel里,后面查询出来就继续添加到之前那些数据后面,然后就没问题了,具体的分段数量根据你根据具体情况来吧

#3


该回复于2013-05-21 13:11:31被管理员删除

#4


直接用jdbc

再 循环 resultset 的时候不要封装数据,直接把数据写文件里。

#5


意思我明白了,就是sql语句及jsp代码这该怎么写我不清楚,本人菜鸟,能给我提供个源代码供参考吗?在这跪谢各位达人了。

#6


for (int i = 0, leni = str.length; i < leni; i++) 用循环,分配每次取出多少条记录存放一个表单中

#7


真不好意思,这个看不太懂,能有完整点的代码吗?

#8


这个比较简单,在方法里做两个变量start、size、每次重start位置看是,到start+size位置结束,然后把start赋值为start+size,下次再从start看是。。。。。

#9


jsp查询大批量数据相关超级缓存

#10


直接用sql取分段的记录,数据库不同,写法有所区别。。。

#11


内存放的大大的,估计能一次全查询,而且不内存溢出!

#12


该回复于2013-05-21 14:28:10被管理员删除