先定义一个接口,主要包括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;
}
}
分享到:
相关推荐
在Java Web开发中,MVC(Model-View-Controller)三层架构和DAO(Data Access Object)工厂模式是两种常见的设计模式,它们对于构建高效、可维护的系统至关重要。本项目结合这两种模式,旨在提高代码组织的清晰度和...
标题"反射机制反射Dao"暗示我们将探讨如何使用反射与数据访问对象(DAO)模式相结合。 反射机制允许程序在运行时动态地获取类的信息(如类名、方法名、参数类型等),并能动态调用方法或访问和修改对象的属性。这种...
在提供的"反射工厂"案例中,我们可以学习如何将这两种技术结合在一起,实现一个灵活且可扩展的DAO底层框架。这将包括如何编写工厂类,如何处理配置信息,以及如何利用反射动态创建和调用DAO对象的相关代码。通过实践...
综上所述,这个项目展示了如何利用Java的泛型和反射技术实现一个通用的DAO,使得数据库操作更加灵活和易于维护。泛型确保了类型安全,而反射则提供了运行时的动态行为。这种设计模式在实际开发中非常常见,尤其是在...
在这个基于DAO工厂模式的三层架构示例项目中,我们将深入探讨每一层的功能以及DAO工厂模式在其中的作用。 **表现层(Presentation Layer)** 表现层是用户与系统交互的界面,它负责接收用户的输入,处理用户的请求...
DAO(Data Access Object)工厂留言板是一个基于Java、JSP和Web技术开发的项目,它主要用于在Web应用程序中实现数据的存取操作。DAO模式是一种设计模式,它提供了一种将业务逻辑与数据访问代码分离的方法,使得代码...
在本主题“mvc中dao层反射实现”中,我们将探讨如何利用Java的反射机制来实现DAO层的方法。 反射是Java语言的一个强大特性,它允许程序在运行时动态地获取类的信息并调用其方法。在DAO层中使用反射,可以提高代码的...
本篇将深入探讨如何自定义Dao,并利用反射技术来实现这一目标。博客链接:[此处无法提供实际链接,故省略] 首先,了解DAO的基本概念。DAO是应用程序中的一个接口或抽象类,它提供了对数据存储的抽象,使得业务逻辑...
在这个“DAO设计模式(工厂+代理)”的例子中,我们将探讨如何结合工厂模式和代理模式来实现更灵活、更易于维护的DAO层。 首先,让我们理解DAO的基本概念。DAO是一个接口或抽象类,定义了对数据库进行操作的方法,...
DAO(Data Access Object)抽象工厂是一种设计模式,它在软件工程中用于创建DAO对象的类工厂。DAO模式的主要目的是为了封装对数据源的访问,使得业务逻辑层与数据存储层解耦,提高代码的可测试性和可维护性。在Java...
例如,在数据访问层,可以通过工厂创建不同的数据访问对象(DAO),然后利用反射动态调用数据库操作方法,支持多种数据库切换。 三层架构结合工厂模式和反射的应用,不仅增强了代码的可扩展性,还能减少代码的耦合...
例如,可以使用工厂模式创建一个通用的数据访问对象(DAO)工厂,该工厂可以根据传入的类型信息(通过反射获取)动态地创建对应的数据访问类,处理不同的数据存储需求。 总结起来,工厂模式和反射是C#开发中非常...
利用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工厂,你则可以用这个工厂来...
工厂模式和DAO(Data Access Object)模式是两种常见的设计模式,它们在处理数据库操作时发挥着关键作用。本示例旨在帮助初学者理解如何结合这两种模式来高效地与数据库交互。 首先,我们来详细探讨工厂模式。工厂...
Java 中 DAO 层反射使用 Java 中的 DAO 层是数据访问对象的缩写,主要负责数据的访问和操作。在 Java 中,反射机制是实现 DAO 层的关键技术之一。本文将对 Java 中 DAO 层反射使用进行详细的介绍。 反射机制 Java...
在本篇文章中,我们将深入探讨如何利用反射机制来简化DAO(数据访问对象)层的设计和实现。 首先,让我们理解什么是DAO层。DAO层是应用程序与数据库交互的一层抽象,它的主要职责是封装SQL查询,处理数据库操作,...
在软件设计模式中,工厂模式和DAO(Data Access Object)模式是两种常用的设计模式,它们在实际开发中扮演着至关重要的角色。工厂模式是创建型设计模式,它提供了一种创建对象的最佳方式,而DAO模式则是一种数据访问...