可以在最后一条sql语句执行完了关闭。保证最后会关闭就行。

解决方案 »

  1.   

     谢谢 我要就只要在数据库查询几条SQL语句 我直接用的JDBC   可以查完一条SQL时connection不关闭吗  然后接着查下一条SQL语句吗  还有  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    只要写一句吗
      

  2.   

     谢谢 我要就只要在数据库查询几条SQL语句 我直接用的JDBC   可以查完一条SQL时connection不关闭吗  然后接着查下一条SQL语句吗  还有  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    只要写一句吗 
      

  3.   

    1.Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    数据库驱动只会加载一次,一般封装DAO会写在静态块里面。 2.访问一条SQL语句后连接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗
    一般操作完数据库需要及时的释放资源,不是执行几条SQL语句的问题,比如写一个批处理,关键是使用完要关闭,比如执行了executeUpdate(),或者遍历完ResultSet,在这个时候才需要关闭。
      

  4.   

    一条SQL语句后连接数据库的Connection必须要关闭吗 
        建议执行完一次数据库操作,就关闭数据库资源。频繁的话,可以考虑数据库连接池
        由连接池初始化一定数量的连接,每次程序跟连接池打交道,不直接跟数据库打交道,这样节省资源
    可以不关闭接着访问一条SQL吗
        可以,但是先关闭掉上次访问数据库的资源(诸如resultset和statement之类的)获取一个connection后,每次产生一个Statement,都相当于产生一个游标,每次操作完,便要关闭该statement
    否则,如果一直只向数据库索取连接,但不关闭的话,那么数据库的statement连接耗尽时,便会抛出,游标超出最大数量的异常 ORA-01000: maximum open cursors exceeded 
      

  5.   

    访问一条SQL语句后连接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗
    回答:只要保证最后关了就行,比如批量执行的
    还有 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  只要弄一次就可以了吗  
    回答:驱动只需用写一次、也在初次的时候加载、初始化、后面就能直接用
      

  6.   

    第一个问题:可以不关闭,用con.commit 提交数据即可。
    第二个问题:Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  一般是用单例模式来赋值Connection的,只要赋值一次就行,后续的就不需要了。
      

  7.   

    可以批处理多条sql,但是记住  流程走完了一定要关闭
      

  8.   

    1.一般数据库访问量大的话,开启连接池
    2.开启连接池以后,就像楼上所说,用完关闭。其实后台socket并没有关闭,等待下一次使用。在Java7中try(申请资源){}这种结构,离开时会自动调用close的
    3.业务复杂的时候,并不能一次完成所有sql操作,所以用完必须关。
      

  9.   

     con.prepareStatement("sql语句")
    这个确实可以连续使用最后你要关闭连接 不然会造成数据泄漏