当前位置: 技术问答>java相关
请高手讨论:关于数据库ResultSet 与 二维数组,进来有分
来源: 互联网 发布时间:2015-10-17
本文导语: 问题: 用jsp 开发系统时,jsp 页面经常要从一个bean(对数据库的操作)返回值,即bean 的处理 结果,大部分时查询executeQuery(),此方法返回resultset 若在页面中直接得到 ResultSet 则bean 中statement,connection 不能关闭,还要在jsp页...
问题:
用jsp 开发系统时,jsp 页面经常要从一个bean(对数据库的操作)返回值,即bean 的处理
结果,大部分时查询executeQuery(),此方法返回resultset 若在页面中直接得到
ResultSet 则bean 中statement,connection 不能关闭,还要在jsp页面中关闭,麻烦.
可否将结果集转换为以二维数组返回,是不是太占用内存.在一个有近百人访问的站点
能否用这种方法?
用jsp 开发系统时,jsp 页面经常要从一个bean(对数据库的操作)返回值,即bean 的处理
结果,大部分时查询executeQuery(),此方法返回resultset 若在页面中直接得到
ResultSet 则bean 中statement,connection 不能关闭,还要在jsp页面中关闭,麻烦.
可否将结果集转换为以二维数组返回,是不是太占用内存.在一个有近百人访问的站点
能否用这种方法?
|
二维数组存储database查询数据,代码不易维护。推荐使用collection,如vector存放值对象(value object)。为数据库表设计一个对应的值对象类,在javabean/servlet中获得rs后,生成value object,填入数据,再把value object插入vector中。
|
这个不是主要问题,VECTOR访问效率应该比数组高,空间效率不需要考虑,可靠性是更重要的东西。
建议不要使用二维数组,可以用COLLECTION,.
IBM的推荐代码是建立一个新的数据结构来保存,会更方便,可靠。
建议不要使用二维数组,可以用COLLECTION,.
IBM的推荐代码是建立一个新的数据结构来保存,会更方便,可靠。
|
一个有近百人访问的站点
能否用这种方法?
还有一点 就是每次查询的记录数多不多 如果几百万条记录 这样就不可取了!
关键还是要根据你的需求
如果每次查询记录不多 用chenyuan_tongji(codeguru)的方法最好
能否用这种方法?
还有一点 就是每次查询的记录数多不多 如果几百万条记录 这样就不可取了!
关键还是要根据你的需求
如果每次查询记录不多 用chenyuan_tongji(codeguru)的方法最好
|
最好不要将RESULTSET返回给JSP,可以返回相应的array,list,vector都可以。我觉得内存不是问题,因为一般情况下也不会将成千上万条记录在一个JSP页面上显示。
建议将每一条记录都封装在特定类里再返回。如:每一条记录就是一本书的介绍。写一个BOOK类。
建议将每一条记录都封装在特定类里再返回。如:每一条记录就是一本书的介绍。写一个BOOK类。
|
用ROWSET.
SUN上面有介绍.
SUN上面有介绍.
|
对,不要直接返回ResultSet,建议把要返回的每行数据作为一个对象存储到Vector中,返回Vector即可。
|
Vector
not 2D数组
not 2D数组
|
用chenyuan_tongji(codeguru)的方法最好