请问为什么在JDBC对数据库访问结束后,要按先关闭ResultSet,然后关闭PreparedStatement,最后关闭Connection,直接关闭Connection不就行了吗?

解决方案 »

  1.   

    直接关闭Connection
    在一般的处理中,直接关闭connection没有问题,但必须保证是这里的关闭是真正的《关闭》但在使用连接池运用中,关闭connection并不意味着真正的关闭了connection,而是将connection返回到池中,并没有关闭。在这种情况下,你的prepstatment和resulset都没有被关闭。这样就不行了。
      

  2.   

    请问在Oracle数据库中为什么使用sys用户以sysoper登录之后使用select user from dual查出来的的用户是public呢;public是个什么用户?
      

  3.   

    我记得曾经回复过这样的问题一般情况下是可以的如果一个COnnection创建出了多个Statement,如在循环中,在循环结束就应该关闭,否则循环一大就有问题了如果是连接池的话,最好把他们都关闭了,以防一些写的不好的连接池没有关闭rs和stmt
      

  4.   

    可以啊。如果你把Connection关闭了。那就是说你要关闭数据库了
      

  5.   

    因为你打开的时候有顺序,打开时:Connection -> PreparedStatement -> ResultSet
    关闭时:ResultSet-> PreparedStatement -> Connection 这个就像 栈,后进先出 
      

  6.   

    这两个也能扯到一起啊,#&*#¥@*(*!
      

  7.   

    1楼说的很正确啊。在一般的处理中,直接关闭connection没有问题,但必须保证是这里的关闭是真正的关闭,这点很重要啊