我搜索了连接池并阅读了它。如果我理解正确的话,一个连接池就像一个开放连接的集合。如果建立或创建了一个连接,则应将其添加到连接池中,如果该连接已关闭,则应将其从连接池中删除;当它打开时,我可以一次又一次地使用它。
在阅读这些关于连接池的教程和解释时,我有一些问题:
连接池只能在特定计算机上使用吗?像电脑A 无法与 ComputerB 共享其连接池?
connection.close()
应该放在哪里?
仅在选择/加载记录时使用连接是否正确?获得返回的记录/数据后,我在 finally
语句处关闭连接。与添加、编辑和删除记录相同。当它正在处理时,我放置了一个进度条,这样用户将不得不等待它完成并再次执行一些过程,这意味着我一次只会打开一个连接。
感谢您的解释。 :)
最佳答案
注意:我假设我们正在谈论 java.sql.Connection
界面。
Can a pool of connections only be used on a certain computer? Like ComputerA cannot share its connection pool with ComputerB?
正在运行的应用程序和数据库之间存在连接。自然地,两台不同的机器不能共享同一个正在运行的应用程序,因此它们不能共享与数据库的连接。
Where should
connection.close()
be placed?
您应该始终确保在使用 Connection
实例后调用 close()
(通常在 finally
block 中)。如果正在使用池,这实际上会将连接返回到幕后的池。引用:Closing JDBC Connections in Pool
Is it correct to use a connection ONLY when selecting/loading record? After I got the returned records/data I close the connection at
finally
statement.
是的,没错。您不想手动卡在 Connection
引用上 - 使用它来执行 SQL/DML,然后通过在finally
block ,就像你正在做的那样。
关于Java 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028947/