我只是想确保如果我使用以下内容,我将打开一个单独的数据库会话而不是同一个会话(为了测试我需要单独的会话)。
Connection connection = DriverManager.getConnection(URL,USER,PASSWORD);
每次执行上述代码时,我都会运行查询,然后执行connection.close()
例如:
while(some condition) {
Connection connection = DriverManager.getConnection(URL,USER,PASSWORD);
//now use the connection to generate a ResultSet of some query
connection.close();
}
因此,循环的每次迭代(每个查询)都需要自己的会话。
这是否正确地开启了我需要的separte会话(如果没有,我需要添加/更改什么)?感谢
答案 0 :(得分:1)
javadoc说:
尝试建立连接 给定的数据库URL
语言略显粗俗,我怀疑这取决于JDBC驱动程序,但如果除了打开新连接之外还做了其他任何事情,我会感到惊讶。
我认为JDBC驱动程序可以在引擎盖下执行连接池,但我会惊讶地发现它。
对于Oracle JDBC驱动程序,此将每次都打开一个新连接。这是Oracle中相对较慢的过程,您可能需要考虑使用连接池(例如Apache Commons DBCP或c3p0)来提高性能。