创建JDBC连接并关闭每个使用预准备语句的Java类或对存储过程进行调用是否符合行业标准?在执行插入,更新和删除时,似乎会有一种更有效的方法来重用连接,而不是每次实例化类时都建立连接。
我没有要求参考Java Servlets。
感谢您提供任何反馈和资源以供审核。
答案 0 :(得分:3)
通常,应用程序使用DataSource提供的连接轮询。您不必为此运行应用程序服务器,甚至不必运行servlet容器。只需实例化实现并从应用程序中使用它。常用的实现是Apache Dbcp:
ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUsername("root");
ds.setPassword("root");
ds.setUrl("jdbc:mysql://localhost/test");
...
// then later in the application:
Connection conn = ds.getConnection();
// do the stuff
conn.close(); // only releases conn back to pool
...
// or better in Java 7:
try (Connection conn = ds.getConnection()) {
// do the stuff
}
答案 1 :(得分:0)
您可以使用连接池,您的代码可以根据需要从中获取/释放连接。一些受欢迎的是C3P0和DBCP。请参阅this answer开始使用。