Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取oracle连接并使用?_Java_Oracle_Jdbc - Fatal编程技术网

Java 获取oracle连接并使用?

Java 获取oracle连接并使用?,java,oracle,jdbc,Java,Oracle,Jdbc,我正在使用java1.6和spring。我有oracle11g数据库。我正在启动上为我的bean设置连接对象 public class MyBean{ //This value will be set during applicaiton context startup Connection connection; } 所以这里连接对象只在应用程序上下文中设置我的问题是考虑我的应用程序获取的连接和连接对象被初始化。之后,如果数据库端发生了什么事情,并且连接中断。现在,由于我的bean已

我正在使用java1.6和spring。我有oracle11g数据库。我正在
启动
上为我的bean设置
连接
对象

public  class MyBean{


//This value will be set during applicaiton context startup
Connection connection;

}
所以这里连接对象只在应用程序上下文中设置<代码>我的问题是考虑我的应用程序获取的连接和连接对象被初始化。之后,如果数据库端发生了什么事情,并且连接中断。现在,由于我的bean已经包含连接对象,如果我尝试使用相同的连接对象,那么我有什么问题吗?因为由于数据库重新启动或其他原因,该连接已丢失。 我如何克服这个问题?我没有使用任何连接池机制。我使用的是普通的
JDBC


谢谢

我强烈建议您使用连接池。在同一个函数中,您应该从数据源获取连接,使用它,并在try/catch/finally块中尽快关闭它。你不应该保持联系。这是个坏主意。除此之外,数据库只能作为有限数量的连接分发。不要欺骗他们


与保持连接相比,使用和关闭池连接无数次,不必担心任何性能损失。这就是它的设计目的。您应该在函数中使用try/catch/finally块,并在finally块中关闭连接

使用JDBC并不意味着不能使用连接池。通常的方法是使用
数据源
(根据您的需要,Spring提供了几种实现),或者您可以从容器中获得一种。