5

我搜索了连接池并阅读了它。如果我理解正确的话,连接池就像打开连接的集合。如果建立或创建了连接,则应将其添加到连接池中,如果该连接已关闭,则应将其从连接池中删除;当它打开时,我可以一次又一次地使用它。

在阅读这些关于连接池的教程和解释时,我有一些问题:

  1. 连接池只能在某台计算机上使用吗?像ComputerA 不能与ComputerB 共享它的连接池吗?

  2. 应该connection.close()放在哪里?

仅在选择/加载记录时使用连接是否正确?在我得到返回的记录/数据后,我在finally语句中关闭了连接。与添加、编辑和删除记录相同。在处理过程中,我放置了一个进度条,因此用户必须等待它完成并再次执行某些过程,这意味着我一次只会打开一个连接。

感谢您的解释。:)

4

1 回答 1

9

注意:我假设我们正在谈论java.sql.Connection界面。

连接池只能在某台计算机上使用吗?像ComputerA 不能与ComputerB 共享它的连接池吗?

正在运行的应用程序和数据库之间存在连接。自然,两台不同的机器不能共享同一个正在运行的应用程序,因此它们不能共享与数据库的连接。

应该connection.close()放在哪里?

您应该始终确保在使用实例后调用close()Connection(通常在finally块中)。如果正在使用池,这实际上会将连接返回到后台池。参考:关闭池中的 JDBC 连接

仅在选择/加载记录时使用连接是否正确?在我得到返回的记录/数据后,我在finally语句中关闭了连接。

对,那是正确的。您不想手动挂起引用 - 使用它来执行 SQL/DML,然后通过调用块将Connection其检回池中,就像您正在做的那样。close()finally

于 2013-04-16T04:53:01.490 回答