创建JDBC连接并关闭每个使用预处理语句的Java类或存储过程调用是否是行业标准?看来在执行插入,更新和删除操作时重用连接的方式会更有效,而不是每次实例化类时都建立连接。创建JDBC连接时的行业标准是什么?
我不是要求引用Java Servlets。
感谢您的任何反馈和资源审查。
创建JDBC连接并关闭每个使用预处理语句的Java类或存储过程调用是否是行业标准?看来在执行插入,更新和删除操作时重用连接的方式会更有效,而不是每次实例化类时都建立连接。创建JDBC连接时的行业标准是什么?
我不是要求引用Java Servlets。
感谢您的任何反馈和资源审查。
通常应用程序使用由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
}
谢谢大家的反馈意见。创建了一个Connection Manager类,并使用Connection.getConnection()完成了工作;就像我可以简单地与一个方法建立联系。请让我知道是否需要发布我的更新代码。 – dangerouslyCoding
您可以使用连接池,根据需要您的代码可以从中获取/释放连接。一些流行的是C3P0和DBCP。请参阅this answer开始。
使用连接池,通过从Servlet容器获取连接,它将为您管理连接池。如果不是Servlet,则应该为连接池使用第三方库,例如请参阅[如何在JDBC中建立连接池?](http://stackoverflow.com/q/2835090/5221149) – Andreas
,但如果不使用servlet,仍然可以轻松使用连接池。取决于你的应用程序的工作情况,涉及多少连接以及多久,你需要决定这是否值得做。 (但通常是) – slipperyseal