我是设计模式的新手。我想对这个数据库类使用单例设计模式。任何人都可以帮助我...感谢先进。
这是我的完整代码。
public interface ResourceConnection {
public Connection getConnection();
}
public class ResourceConnectionFactory {
public ResourceConnection getConnection() {
return new MysqlResourceConnectionImpl();
}
}
public class MysqlResourceConnectionImpl implements ResourceConnection {
Connection con = null;
@Override
public Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/library", "root", "root");
}
catch (ClassNotFoundException ex) {
Logger.getLogger(MysqlResourceConnectionImpl.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(MysqlResourceConnectionImpl.class.getName()).log(Level.SEVERE, null, ex);
}
return con;
}
}
答案 0 :(得分:0)
要制作任何课程单身,你必须确保遵循以下事项。 (Singleton设计模式可以应用于任何地方。数据库类没有不同的实现)
您可以使用Java Singleton Design Pattern中的此链接。这个网址的所有功劳。
答案 1 :(得分:0)
我理解您正在做的是为应用程序获取单个连接。如果您在多个位置重新使用该连接,则会出现容易出错的情况。您可以使用连接池为您设置连接,而不是这样做。以下是Connection Pool using DBCP
的示例