我正在设计一个简单的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(){...}
}
我担心的是我建立与数据库的连接并断开连接的方法。我可以用两种方式做到 -
方法1:
我可以在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*/}
}
方法2: 我可以在需要时建立连接,并在完成活动后关闭它。缺点:每次,我都需要建立连接并关闭它。例如,
...
...
private void addMember() {
//establish connection
//update database
//close connection
}
...
...
这两种方式中的哪一种似乎更好?或者还有第三种更好的方法吗?
谢谢!