我正在设计一个简单的 Java 应用程序,该应用程序使用 JDBC 处理 MySQL 数据库中的记录插入/删除/更新。我有一个 Member
类,用于处理成员的详细信息。
class Member {
... // Private Members
... // Accessors
}
..我有一个处理程序来处理成员(member)记录
class MemberHandler {
public MemberHandler(){...}
public void addMember(Member mem){...}
public void removeMember(Member mem){...}
public Member[] getMembers(){...}
}
我所担心的是建立与数据库的连接和断开连接的方法。我可以通过两种方式做到这一点 -
方法一:
我可以在 MemberHandler Connection conn
中有一个成员,在实例化类时建立连接,并在不再需要该对象时关闭连接。在这里,每个对象都有一个连接,并且每当我需要执行任何与数据库相关的 Activity 时都不需要建立连接。在这种情况下,缺点似乎是 - 当网络连接丢失时,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*/}
}
方法2: 我可以在需要时建立连接,并在完成 Activity 后关闭它。缺点:每次都需要建立连接并关闭它。例如,
...
...
private void addMember() {
//establish connection
//update database
//close connection
}
...
...
这两种方式哪一种更好?或者还有第三种更好的方法吗?
谢谢!
最佳答案
我建议您选择connection-pooling
关于java - 数据库连接管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150882/