您可能不了解代码是如何工作的?好像很好
仅供参考:
如果您考虑将其命名为UserDAOMySQLImpl,将另一个命名为UserDAOMSSQLImpl,以此类推,则可以更好地理解UserDAOImpl的定义,依此类推,您可能需要对每个数据库进行访问。
在每个连接中,您都应该处理连接,并为特定的数据库服务器配置添加诸如私有功能之类的其他功能,它可能需要并且不需要在接口(UserDAO)中进行声明,但至少必须始终实现实现中定义的所有方法。接口,然后在Factory(UserDAOFactory)条件下,您可能会遇到以下情况:
`
public class UserDAOFactory{ public static UserDAO getUserDAO(String type){ if (type.equalsIgnoreCase("mysql")){ return new UserDAOMySQLImpl(); }else{ return new UserDAOMSSQLImpl(); } }}
清楚一点吗?
然后,在客户端而不是像这样的硬编码行:
UserDAO userDAO=UserDAOFactory.getUserDAO("jdbc");
您可以拥有一个属性文件,以便能够在DAO之间动态切换,只需从属性文件中检索到该字符串即可:
UserDAO userDAO=UserDAOFactory.getUserDAO(myStringFromPropertiesFile);
根据属性文件中的定义,myStringFromPropertiesFile将包含“ mysql”或“ mssql”。
希望这可以帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)