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