19_传智播客JDBC_使用DAO工厂模式(代码超经典)
来源:互联网 发布:mysql sql 每小时统计 编辑:程序博客网 时间:2024/04/28 17:15
package five.test.daoFaction;
import java.io.InputStream;
import java.util.Properties;
import five.dao.UserDao;
public class DaoFactory {
// 简单工厂模式 && 单例模式
private static UserDao ud = null;
private static DaoFactory instance = new DaoFactory();
// 单例模式 构造方法 私有
private DaoFactory(){
try {
Properties properties = new Properties();
//InputStream inputStream = new FileInputStream(new File("src/daoconfig.properties"));
//通过ClassLoader 来得到配置的文件
InputStream inputStream = DaoFactory.class.getClassLoader()
.getResourceAsStream("daoconfig.properties");
properties.load(inputStream);
String className = properties.getProperty("userDaoClass");
Class myClass = Class.forName(className);
ud = (UserDao) myClass.newInstance();
} catch (Exception e) {
// 如果再读取配置文件时出错,抛出系统启动异常
throw new ExceptionInInitializerError(e);
}
}
public static DaoFactory getInstance() {
return instance;
}
public UserDao getUserDao() {
return ud;
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package five.test;
import java.sql.Date;
import five.dao.UserDao;
import five.domain.User;
import five.test.daoFaction.DaoFactory;
public class UserDaoTest {
public static void main(String[] args) {
User user = new User(20, null, "20pass", null, 0);
user.setBrithday(new Date(0));
user.setName("dao name1");
user.setMonney(1000.0f);
//依赖 具体实现[new UserDaoImpl();]
//对策 工厂模式 通过配置文件
//存在修改代码的可能, 在不修改代码的前提下
//就只能修改 配置文件
//UserDao ud = new UserDaoImpl();
UserDao ud = DaoFactory.getInstance().getUserDao();
ud.addUser(user);
user = ud.getUser(20);
System.out.print(user.getPassword());
}
}
- 19_传智播客JDBC_使用DAO工厂模式(代码超经典)
- 19_传智播客JDBC_使用DAO工厂模式(代码超经典)2 之关于newInstance() new
- 19_传智播客JDBC_使用DAO工厂模式(代码超经典)3 之关于初始化过程
- JDBC--使用DAO工厂模式(代码超经典)
- JDBC--使用DAO工厂模式(代码超经典)
- 第十九章 JDBC_使用DAO工厂模式
- 18_传智播客JDBC_完成整个DAO的实现及测试代码
- 黑马程序员 JDBC_使用模板方法设计模式处理DAO中的方法(李勇老师)
- Dao工厂模式(代码比较好)
- JDBC使用DAO工厂模式
- 17_传智播客JDBC_结合Service层讲解DAO层的异常处理
- DAO(dao工厂)
- 工厂模式之DAO
- Dao工厂模式
- JDBC---DAO经典模式
- 黑马程序员 使用工厂模式实现dao层(李勇老师)
- Dao工厂类代码实例
- 浅谈DAO工厂设计模式
- [ubuntu 8.04] 用root登录系统并使用中文界面
- JAVA正则表达式
- ARM 开发软件及实用工具介绍
- javascript日期星期的实现-项目中小应用
- 使用WinAVI配合TMPGEnc DVD Author將多个mpg檔燒成一塊DVD
- 19_传智播客JDBC_使用DAO工厂模式(代码超经典)
- Gentoo
- 网店版重生系列:都是Spring配置中自动注入惹的祸
- AVR单片机的RTOS-AVRX应用
- 单工, 双工, 半双工, TDD, FDD
- 用sql语句计算年龄
- Head First C# 中文版 第九章 读写文件 page397
- 3G标准中的TDD与FDD模式
- C#打包程序