缓存JDBC连接

Mik*_*rza 3 java mysql tomcat servlets jdbc

我有一个小型的电子商务应用程序,它依赖于数据库.我已经看到了它的一些性能问题,主要是建立与数据库的连接.我不是DBA,也不是任何其他深层数据库知识 - 但我知道缓存连接而不是一直建立新连接是有意义的.

下面是我获取连接的方法:

public Connection getConnection() throws SQLException, ClassNotFoundException  {
    Class.forName("com.mysql.jdbc.Driver"); 
    con=DriverManager.getConnection("jdbc:mysql://182.31.456.32:3306/"+database+"",""+username+"",""+password+""); 
   // stm=con.createStatement(); 
    return con;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 如何轻松缓存当前连接并重用它而不是使用JDBC/Java创建新连接?

谢谢.

Sab*_*han 6

在您拥有相当大的电子商务应用程序的情况下,您通常不会按照您在代码中显示的方式编写数据库连接.

我们使用连接池.

我想,您的电子商务应用程序将部署在某个应用程序服务器中,使用该服务器的连接池工具来管理您的数据库连接.

如果没有服务器的应用程序,您可以使用其中一个连接池API(如C3P0等)显式编码池功能.

我猜你正在调用连接缓存的事情基本上是要求实现一个Singleton.在Internet上会有很多关于如何实现单例的例子,但是你不应该在代码中关闭连接.

有一种称为连接超时的时间,如果使用单连接缓存解决方案,则需要正确设置.

希望能帮助到你 !!