先定义一个接口,主要包括CRUD几个功能
public interface BaseDAO {
public void save(Object poObject);
public void detacheUpdate(Object poObject);
public <T>T load(Class<T> poClass, Object keyObject);
public void delete(Object poObject);
}
DAOFactory:
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Map;
public class DAOFactory {
private static final Map<String, Object> map = new HashMap<String, Object>();
private static DAOFactory instance;
private DAOFactory() {
}
public synchronized static DAOFactory getInstance() {
if (instance == null) {
instance = new DAOFactory();
}
return instance;
}
public <T extends BaseDAO> T getDAO(Class<T> daoInterfaceClass,String daoImplClassName) {
final String key = daoInterfaceClass.getSimpleName();
BaseDAO dao = null;
if (!map.containsKey(key)) {
try {
Constructor c = Class.forName(daoImplClassName).getDeclaredConstructor(new Class[]{});
c.setAccessible(true);
dao = (BaseDAO) c.newInstance(new Object[] {});
map.put(key, dao);
} catch (Exception ex) {
throw new ExceptionInInitializerError(ex);
}
}
return (T)dao;
}
}
分享到:
相关推荐
反射反射反射反射反射反射反射反射反射反射反射反射反射反射反射反射
MVC三层架构+DAO工厂模式进行JAVA WEB开发
java的基于泛型+反射的通用DAO例子,原创,没事写着玩的,请多指教哈。。。
里面包含java之mvc框架中的dao层反射,dao层里面方法的实现采取的都是反射机制,比较灵活
我自己模仿hibernate写的反射工厂案例,里面是用了反射机制、工厂模式,希望对大家有帮助 !
DAO工厂留言板java jsp Web技术开发
DAO抽象工厂
利用Java的反射机制实现的万能DAO工具类,包含对应的测试代码。具体功能包括:单表查询,多表查询,模糊查询,添加,修改,删除等。利用万能DAO可以对数据库中任意表进行操作,只需一个DAO类即可完成。阅读本代码...
-AJAX整合Struts无刷新分页.IE和FireFox都能运行 -在Eclipse3.1+MyEclipse4.3+TomCat5.5.12下测试通过 -在Eclipse3.3+MyEclipse6.0.1+TomCat5.5.15下测试通过 -注释详细 -希望初学者能有所收获,高手...
在当前情况,可以提供一个抽象的DAO工厂对象(抽象工厂),用他来创建不同类型的具体DAO工厂,每一个工厂都各自支持一种不同的数据持久化储存的实现. 一旦你为某个特定的实现获得了具体的DAO工厂,你则可以用这个工厂来...
NULL 博文链接:https://brooke.iteye.com/blog/996621
用简单易懂的例子说明DAO设计模式(附带sql脚本,mysql数据库)
C# 抽象工厂 Dao 详解, 简单扼要。
基于工厂模式的三层架构示例项目源码
java中dao层反射使用
工厂模式dao模式操作数据库小例子 本例子适合刚学完java一点基础部分,想利用下工厂模式还有dao设计模式简单操作数据库的看一下
反射 代码概述: bean :Person.java 这个人员类我就不说了 泛型dao接口 :GenericDao, ID extends Serializable> 泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends GenericDao, Integer> 可以不写...
java反射实现数据库增、删、改、查操作Dao
Struts+DAO+工厂模式+委托模式+值对象模式!
DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式