cn.itcast.jdbc.domain User
cn.itcast.jdbc.dao UserDao 接口
cn.itcast.jdbc.dao.impl UserDaoJdbcImpl (implements UserDao 实现方法)
cn.itcast.jdbc.dao DaoException 异常处理
cn.itcast.jdbc.dao UserDaoTest
cn.itcast.jdbc.dao DaoFactory 工厂类
src daoconfig.properties
UserDaoTest.java
package cn.itcast.jdbc.dao;
import java.util.Date;
import cn.itcast.jdbc.domain.User;
public class UserDaoTest {
/**
* @param args
*/
public static void main(String[] args) {
UserDao userDao = DaoFactory.getInstance().getUserDao();
User u = userDao.getUser(7);
u.setMoney(20000.1f);
userDao.update(u);
}
}
DaoFactory .java
package cn.itcast.jdbc.dao;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
public class DaoFactory {
private static UserDao userDao = null;
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;
}
}
daoconfig.properties
userDaoClass=cn.itcast.jdbc.dao.impl.UserDaoJdbcImpl
#userDaoClass=cn.itcast.jdbc.dao.impl.UserDaoHibernateImpl
key=value
key1=value1