JDBC基础-ResultSet

从底层讲解下ResultSet对象,这也是来自网上一段引用[注2],如下:

ResultSet对象实际维护的是一个二维指针,第一维是指向当前
行,最初它指向的是结果集的第一行之前,所以如果要访问第一行,就要先next(),以后每一行都
要先next()才能访问,然后第二维的指针指向列,只要当你去rs.getXXX(列)时,才通过
Connection再去数据库把真实的数据取出来,否则没有什么机器能真的把要取的数据都放在内存中.

在这篇文章中下面一段话还需要进一步斟酌

有很多人问我,我可不可以取到一个ResultSet把它写到Session中然后关闭Connection,这样就不要每次都连结了.我只能告诉你,你的想法非常好,但,是错误的!当然在javax.sql包中JDBC高级应用中有CacheRow和WebCacheRow可以把结果集缓存下来,但那和我们自己开一个数据结构把ResultSet的行集中所有值一次取出来保存起来没有什么两样.

【注2】链接 http://blog.csdn.net/mayfar/archive/2007/04/10/1559797.aspx

猜你喜欢

转载自nemogu.iteye.com/blog/1078279