到目前为止,每当我查询数据库时,我都会打开一个与数据库的新连接。如何实现属性,一旦打开连接,我可以重用它?
完成后,请告诉我是否可能泄漏资源。
答案 0 :(得分:6)
基本上你需要JDBC连接池,通常是实现DataSource
接口。请查看dbcp和c3p0。您可能已经在容器/服务器上提供了连接池的实现。
每次打开连接时使用连接池时,实际上是从池中获取连接(或者如果池为空则打开)。当关闭连接时,它实际上会返回到池中。只有忘记后者才能发生泄漏。 (或忘记关闭 ResultSet
,Statement
...)
答案 1 :(得分:1)
您可以(并且应该)重用数据库连接。连接池是其中一种技术。有关连接池的详细教程,请参阅此处:http://java.sun.com/developer/onlineTraining/Programming/JDCBook/conpool.html