【问题标题】:Database Connection Management数据库连接管理
【发布时间】:2011-03-01 05:34:29
【问题描述】:

我正在设计一个简单的 Java 应用程序,该应用程序使用 JDBC 处理 MySQL 数据库中记录的插入/删除/更新。我有一个类Member 处理成员的详细信息。

class Member {
  ... // Private Members
  ... // Accessors
}

..我有一个处理成员记录的处理程序

class MemberHandler {
  public MemberHandler(){...}
  public void addMember(Member mem){...}
  public void removeMember(Member mem){...}
  public Member[] getMembers(){...}
}

我所担心的只是建立与数据库的连接并断开连接的方法。我可以通过两种方式做到这一点 -

方法一: 我可以在 MemberHandler Connection conn 中有一个成员,在实例化类时建立连接并在不再需要对象时关闭连接。在这里,我将为每个对象建立一个连接,并且每当我需要执行任何与数据库相关的活动时,我都不需要建立连接。在这种情况下,缺点似乎是 - 当网络连接丢失时,conn 可能会失效。

class MemberHandler {
  private java.sql.Connection conn;
  ... // Other members
  private void createConnection(){/*creates the connection*/}
  private void closeConnection(){conn.close(); /*called when conn is no more needed*/}
}

方法二: 我可以在需要时建立连接,并在完成活动后关闭它。缺点:每次都需要建立连接并关闭它。例如,

...
...
private void addMember() {
  //establish connection
  //update database
  //close connection
}
...
...

这两种方式中哪一种似乎更好?还是有第三种更好的方法?

谢谢!

【问题讨论】:

    标签: java jdbc


    【解决方案1】:

    我建议你去connection-pooling

    【讨论】:

      猜你喜欢
      • 2021-02-18
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2017-08-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多