Java连接池

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

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

  1. 是否只能在某台计算机上使用连接池? 像ComputerA无法与ComputerB共享其连接池?

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

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

感谢您的解释。 🙂

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

是否只能在某台计算机上使用连接池? 像ComputerA无法与ComputerB共享其连接池?

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

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

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

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

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