DAO工厂模式

首先在src下面新建一个配置文件daoconfig.properites

内容如下:userDaoClass=com.mengya.dao.impl.UserDaoJdbcImpl

DaoFactory类的内容如下:

public class DaoFactory {

       private static UserDao userDao = null;  //UserDaoUserDaoJdbcImpl的接口

       private static DaoFactory instance = new DaoFactory();

       private DaoFactory() {

              try {

                     Properties prop = new Properties();

                     InputStream inStream = DaoFactory.class.getClassLoader()

                                   .getResourceAsStream("daoconfig.properties");

                     prop.load(inStream);

                     String userDaoClass = prop.getProperty("userDaoClass");

                     Class clazz = Class.forName(userDaoClass);

                     userDao = (UserDao) clazz.newInstance();

              } catch (Throwable e) {

                     throw new ExceptionInInitializerError(e);

              }

       }

 

       public static DaoFactory getInstance() {

              return instance;

       }

 

       public UserDao getUserDao() {

              return userDao;

       }

}

 

说明:private static UserDao userDao = null;

private static DaoFactory instance = new DaoFactory();位置不能换。

程序执行顺序是首先申明了一个空的userDao,执行new DaoFactory()的时候将userDao实例化了,如果它们的顺序换了则会出错,userDaonull.

 

测试:

public class UserDaoTest {

    public static void main(String[] args) {

       UserDao userDao = DaoFactory.getInstance().getUserDao();

       User user = new User();

       user.setBirthday(new Date());

       user.setName("dao name2");

       user.setMoney(1000.0f);

      

       userDao.addUser(user);

        System.out.println(user.getId());

    }

}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值