【问题标题】:Can/Should I pass a Connection object to functions?我可以/应该将 Connection 对象传递给函数吗?
【发布时间】:2015-10-29 00:21:24
【问题描述】:

我对 DBMS 非常熟悉,我需要使用 JDBC 编写一个 Java 程序来与 Access 数据库文件进行交互。我想知道在 main 中初始化 Connection 并根据需要将其传递给每个方法(在程序运行后关闭它)或在每个单独的方法中打开和关闭一个新连接是否更好,甚至可能。

抱歉,如果这是重复的,但我发现的关于此的问题/答案都不是结论性的。

【问题讨论】:

    标签: java ms-access ucanaccess


    【解决方案1】:

    打开连接需要很长时间。如果没有特殊原因关闭它,您应该在您的程序中使用相同的连接。

    甚至还有一种称为connection pooling 的特殊技术,它允许在大型应用程序中重用打开的连接,从而提高性能。

    【讨论】:

    • 好吧,我对数据库访问了解不多,所以我不知道“特殊原因”可能是什么样的。
    • 特殊原因可能是连接错误或数据库关闭等。
    • 知道了,我想我只会在 main 中打开和关闭一次,因为这个程序永远不会在野外使用。非常感谢
    【解决方案2】:

    我认为创建单个连接对象是最好的方法,因为您可以减少 JVM 创建和垃圾收集对象的开销。 (使用try-with-resource。它会自动关闭连接对象)

    【讨论】:

      猜你喜欢
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多