2011-03-01 177 views
0

我正在设计一个简单的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 
} 
... 
... 

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

谢谢!

回答