因为我看一些程序有的将记录集Resultset,Statement对象也close掉。
但有的只将conection关闭掉。请教:最后只将conection关掉也可以吧?

解决方案 »

  1.   

    我觉得Resultset,Statement可以不close掉,为什么呢?因为Resultset是一个查询集的结果,Statement是一个SQL执行的容器,它们一旦建立,就驻扎在内存里呢,只有经过一定时间才能被JVM作为垃圾回收,才能从内存中去掉,手工关一下应该能够更加提高程序的效率。而关掉了连接过后,与这个连接相关的对象是否也随之关掉呢?我做了一个实验,首先create一个连接,然后create了一个Statement,然后在这个基础上create了一个Resultset,不关掉连接,记录都可以显示,但一旦关掉了连接,就不能显示了。但是我建议还是要关掉Resultset,Statement,因为在一个页面中可能有多个Resultset,Statement,及时关掉肯定能提高效率。上面是一个菜鸟的看法,希望大家能够提点建议。
      

  2.   

    可以,关掉Connection的话,web服务器会自动帮你把ResultSet, Statement搞定的。
    ^__^
      

  3.   

    如果用光标的方式打开要关闭Statement,不过还要看情况了.
      

  4.   

    最好是关掉,如果jdbc写的比较好,比较严格,是可以在关闭连接时,自动关闭语句,但你不能保证你正在用的jdbc写得很严格,连DB2的数据库驱动原来也不自动关闭,所以,如果你不确定,还是手工写吧
      

  5.   

    sun的规范是这样定义的:关闭连接,statement自动关闭