当前位置: 代码迷 >> J2EE >> 访问一条SQL语句后联接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗
  详细解决方案

访问一条SQL语句后联接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗

热度:11   发布时间:2016-04-17 23:44:21.0
访问一条SQL语句后连接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗
访问一条SQL语句后连接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗
可以直接  con.prepareStatement("sql语句")
还有 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  只要弄一次就可以了吗  
接着连接数据库就不需要Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()和DriverManager.getConnection(URL, USER, PWD);了吗

------解决方案--------------------
1.Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
数据库驱动只会加载一次,一般封装DAO会写在静态块里面。 

2.访问一条SQL语句后连接数据库的Connection必须要关闭吗 可以不关闭接着访问一条SQL吗
一般操作完数据库需要及时的释放资源,不是执行几条SQL语句的问题,比如写一个批处理,关键是使用完要关闭,比如执行了executeUpdate(),或者遍历完ResultSet,在这个时候才需要关闭。
------解决方案--------------------
一条SQL语句后连接数据库的Connection必须要关闭吗 
    建议执行完一次数据库操作,就关闭数据库资源。频繁的话,可以考虑数据库连接池
    由连接池初始化一定数量的连接,每次程序跟连接池打交道,不直接跟数据库打交道,这样节省资源
可以不关闭接着访问一条SQL吗
    可以,但是先关闭掉上次访问数据库的资源(诸如resultset和statement之类的)

获取一个connection后,每次产生一个Statement,都相当于产生一个游标,每次操作完,便要关闭该statement
否则,如果一直只向数据库索取连接,但不关闭的话,那么数据库的statement连接耗尽时,便会抛出,游标超出最大数量的异常 ORA-01000: maximum open cursors exceeded 
  相关解决方案