直接返回resulstset,arraylist等,有多少种方式呢,那种最优~!

解决方案 »

  1.   

    arraylist,resultset可能被垃圾回收
      

  2.   

    这里有一个怎样权衡的问题。ResultSet 要求连接是打开的。而返回 List 通常是因为采用了 DAO(数据访问对象)设计模式。如果是在 JSP 页面中直接使用 ResultSet,那么在你用完之前,你将要占用一个数据库连接。而 DAO 模式需要执行更多的代码,但同时又尽可能地缩短了对数据库连接时间的占用。一般在使用 DAO 设计模式时,你首先打开一个 ResultSet,然后读取每一行,用每一行的值来构造一个值对象,并将其加入 List 中。这里连接就可以关闭了,而 JSP 页面中的代码只使用这个 List,不管在 JSP 页面中要执行多少代码,都不会影响到对数据库连接的占用了。