Java连接池

Java连接池,java,database,jdbc,connection-pooling,Java,Database,Jdbc,Connection Pooling,我搜索了连接池并阅读了相关内容。如果我理解正确,连接池就像一组打开的连接。如果建立或创建了连接,则应将其添加到连接池中,如果该连接已关闭,则应在连接池中删除该连接;虽然它是开放的,我可以使用它一次又一次 在阅读这些关于连接池的教程和说明时,我有一些问题: 连接池只能在某台计算机上使用吗?像计算机一样 无法与ComputerB共享其连接池 connection.close()应该放在哪里 仅在选择/加载记录时使用连接是否正确?在我得到返回的记录/数据后,我在最后关闭了连接语句。与添加、编辑和删除记

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

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

  • 连接池只能在某台计算机上使用吗?像计算机一样 无法与ComputerB共享其连接池

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

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


    谢谢你的解释。:)

    注意:我想我们讨论的是界面

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

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

    connection.close()
    应该放在哪里

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

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


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

    All true,如果您使用的是Java 7,则可以使用new,而不是将close()放在finally块中。退房