【问题标题】:Efficient Method for using Multiple Database connection in java在java中使用多数据库连接的有效方法
【发布时间】:2023-03-12 20:38:01
【问题描述】:

为每个数据库操作打开数据库连接并相应关闭的有效方法吗 或者在开始时打开连接并继续调用同一个打开的连接进行多次操作,并在所有活动完成后关闭它。 ?

我正在创建一个 Java Swing 应用程序,其中我有一个主框架并使用卡片布局我选择不同的面板,并且每个面板都有不同的数据库操作要执行。目前我为每个面板打开了单独的连接,所以当我打开我的主应用程序时,多个连接被打开和关闭。

因为我想确保我做的是正确的事情并避免任何不良做法和性能瓶颈,所以我向 Java 专家提出了这个问题。

请提出建议。感谢您的所有帮助。

【问题讨论】:

  • kdev:我认为你的问题很好;我对这些回复很感兴趣,并对其投了赞成票。作为一个友好的提醒,您可能希望回到旧线程并接受更多答案,因为这可能会激励您在未来的问题中为您提供更多帮助。祝你编码好运,并得到这个问题的好答案。我也希望能从中学习! :)

标签: java database swing connection


【解决方案1】:

不,不建议为每个数据库事务“创建”新连接。创建连接通常很昂贵。尝试使用抽象连接打开和关闭语义的连接池。这样,您的应用程序可以调用Connection#close 等,并且在后台池将相应地抓取连接并将连接返回到连接轮询。有很多解决方案; DBCP、C3P0 或 BoneCP。

【讨论】:

    【解决方案2】:

    如果您有一个连接池,您当然可以为每个操作使用一个连接。创建连接的成本很高,但通过池化所有操作来分摊成本使之成为可能。

    您应该获得一个连接,使用它,并在每次操作时将其返回到池中,尽可能在最小范围内。

    【讨论】:

    • 感谢您的出色回答 (1+)!我刚刚在 Google 上搜索教程以了解有关连接池的更多信息,希望您不介意我与 OP 分享看起来不错的链接:SDN Tutorial: Connection Pooling
    【解决方案3】:

    连接到数据库是一项相对昂贵的操作。通常你会做的是使用连接池。连接池包含一组可供您使用的数据库连接。您将从池中获取一个连接,对该连接进行查询,然后将其返回到池中(通常通过关闭连接来完成)。连接池将负责在后台建立与数据库的新连接,这样当您需要连接时,您无需花时间等待。

    【讨论】:

      猜你喜欢
      • 2019-09-24
      • 2011-12-10
      • 2013-04-01
      • 1970-01-01
      • 2012-07-13
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多