呵呵,我现在项目就是用以上的方法,觉得还一般,但不是很好耶。
数据库关闭之后可以使用resulset访问,我以前一直这么做,我都是使用PrepareStatement


能说说怎么用吗?给个例子,谢谢
我这么用的,好像不行啊,请看看我的那篇帖子
《查询数据库后是返回ResultSet实现中的问题》
终于明白jive的苦心了,呵呵!构造函数很巧妙,但是还有一个疑问,我不能像在Collection里面那样,根据某个字段进行排序了,怎么解决?因为他只储存了ID.
我觉得这样做固然是好,但是比如我返回的结果是要有序(按某个关键字排序),那么iterator是办不到的,有人可以解答吗
一个问题
那个final的rs怎么在我不需要的时候把它关掉
resultset对象在数据库连接关闭后,是无法操作数据的。它仅仅是指向数据库,没有得到实际的数据。无论你用什么连接方式。
bang能操作数据,肯定是有部分写的不够规范。假如能可以把code放上来,大家一块研究
当然不能将ResultSet在不同层间传递,比如,从EntityBean到SessionBean,从SessionBean到jsp/servlet等!关闭数据库连接后,ResultSet将不能用了,也就是说使用Iterator将一直占用数据库连接 !

其实数据量不大时,可以用CachedResultSet来传递数据,它有点像delphi下的ClientDataSet哦 ;-)

你的看法是专注于节省系统的内存,觉得使用Iterator比使用Collectors节省内存,我的看法是:如果客户请求的数据一次全部从服务器端传到客户端,那么我认为无论使用Iterator或者Collectors,对于内存或效率它们没有太大的区别。但是,如果客户请求的数据不是一次全部从服务器端传到客户端,而是客户端读下一个数据时,数据才从服务器传到客户端,这样对于内存或效率的提高时非常大的,所以我认为Iterator和Collectors的区别在这里,即Iterator实现了不是一次全部传送数据,而是读一次传一次,Collectors实现的是一次全部传送数据。以上是我的一点看法,不知对否,请指正。
数据库关闭之后可以使用resulset访问,我以前一直这么做,我都是使用PrepareStatement

关闭CONNECTION后,怎么还能访问RS?

我查了这个 :Collectors
不在JDK文章中,楼上的那位指的是啥?
> 我查了这个 :Collectors
> 不在JDK文章中,楼上的那位指的是啥?
是Collection 不是Collectors.
aa
aa
a
在iterator中直接实现rs的遍历,由于ResultSet是一个实际的连接,一直保持连接,回严重影响数据库的性能。
浆糊
的说法是对的
这怎么这么象游标啊?
我怎么觉得搞来搞去其实是把数据库的一些功能搬到中间层去,把数据库变成纯粹存放数据的表了?
或许是我没在多种异质数据库共存的环境下干过,但这样做对于昂贵的数据库产品来说不是一个浪费吗?