何时打开以及何时使用Java servlet关闭mysql连接?

ili*_*139 2 java servlets jdbc

可以在init方法中打开连接并在方法中关闭它destroy吗?还有什么是打开与mysql数据库的连接的最佳方式.目前我正在使用这个:

Class.forName("com.mysql.jdbc.Driver");

Connection connect = DriverManager.getConnection("jdbc:mysql://" + ipaddress + "?user=" + user + "&password=" + pass);
Run Code Online (Sandbox Code Playgroud)

但我在某处读到这是低效的,我应该使用连接池.怎么做?

Jon*_*eet 6

我强烈建议使用连接池,显式(例如c3p0)或servlet容器提供的连接池.

在需要时打开数据库连接,然后尽快关闭它 - 连接池将负责真正的网络连接.

除非你这样做,否则你的整个应用程序最终会有一个连接 - 这意味着你一次只能处理一个查询,而你的所有代码都需要围绕数据库查询进行同步.当然,您希望多个完全独立的查询能够同时执行吗?您无法通过单个连接执行此操作.

至于打开已配置适当连接池的连接的最佳方法 - 您最终可能仍会使用DriverManager.getConnection(),但直接指定连接池而不是mysql.