`
xyh
  • 浏览: 85767 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

DAO Layer总结

    博客分类:
  • Java
阅读更多
DAO,即Data Access Object(数据访问对象),是连接持久层和业务逻辑层之间的一层thin layer。

主要的特征有:

1.在DAO层的API应该看不到后端支持系统的细节。因为DAO模式的主要优点就在于修改后端支持系统而不会影响前端系统的代码。
反模式:在DAO层看到大量的SQL语句

2.DAO层的API应该易于使用,为方便开发人员最好使用标准化统一的名字.比如DAO层常用的方法名:create, update, delete,find.

3.DAO层应该不包含任何形式的业务逻辑
反模式:DAO层里大量的IF/ELSE判断

4.DAO层的各方法应该不允许相互调用.尽量保证DAO层各模块的低耦合是很必要的.
反模式:ADao的get()方法调用BDao的find()方法

5.DAO层应避免保存任何形式的状态.可以简单的认为DAO就是连接后端支持系统的桥梁。
反模式:DAO里面定义了一个有状态的实例变量

6.DAO能参与事务控制,但不能初始化一个事务或者终止一个事务的运行。
反模式:在DAO里面用编程式方式启动事务或者关闭事务

JDK5支持泛型,于是泛型DAO就应运而生了。泛型DAO应用在很多敏捷开发框架上。下面是Appfuse的GenericDao:
public interface GenericDao <T, PK extends Serializable> {

    List<T> getAll();

    T get(PK id);

    boolean exists(PK id);

    T save(T object);

    void remove(PK id);

    List<T> getAllDistinct();

    List<T> findByNamedQuery(String queryName, Map<String, Object> queryParams);
}
分享到:
评论

相关推荐

    DAO与三层结构

    DAO(Data Access Object)模式与三层结构是软件开发中常见的设计模式和架构方式,主要用于处理...总结来说,DAO模式和三层结构是构建企业级应用的重要技术,通过学习和实践,开发者可以更好地组织代码,提高软件质量。

    javaEE DAO具体实现方法源码

    总结,这个图书管理系统通过Java EE的DAO模式实现了对数据库的增删查改操作。DAO层封装了数据库访问细节,使得业务层和表现层能够专注于各自的职责,提高了代码的可维护性和可扩展性。在实际项目中,可能会使用ORM...

    DAO设计模式DAO设计模式

    public class ServiceLayer { public void updateData() { try (Connection conn = ds.getConnection()) { conn.setAutoCommit(false); // 开始事务 dao1.createWarehouseProfile(profile1); dao2....

    java-DAO分层解析.pdf

    总结,Java DAO分层架构通过分离职责,提高了代码的可读性和可维护性,使得系统更易于扩展和测试。业务层通过DAO层与数据库交互,而DAO层通过接口定义了与数据库交互的标准,降低了各层间的耦合度。

    J2EE之DAO设计模式

    DAO(Data Access Object...总结来说,DAO设计模式是J2EE应用程序中数据访问的核心机制,它提高了代码的可维护性和可测试性。通过理解DAO模式的工作原理和在J2EE环境中的应用,开发者可以更好地构建健壮、灵活的系统。

    ch7.MVC与DAO_dao_mvc_

    总结来说,MVC模式提供了良好的结构和组件间的解耦,而DAO模式则专注于数据存取的抽象,两者结合可以构建出高效、可扩展且易于维护的Web应用程序。在实际开发中,理解并熟练运用这两种模式对于提升软件质量至关重要...

    (hibernate_10增删改查DAO

    在实际开发中,为了实现事务管理,我们还会在服务层(Service Layer)中调用DAO方法,并包裹在`Transaction`中,确保数据操作的一致性。例如: ```java @Service public class StudentService { @Autowired ...

    jdbcdao.zip

    总结起来,"jdbcdao.zip"项目是一个很好的学习资源,它展示了JDBC和DAO模式在实际应用中的运用。通过研究和理解这个系统,新手能够深入理解数据库访问的底层原理,提升Java编程和数据库管理的能力。

    ajva课程设计报告javadao模式设计.doc

    3. 数据访问层(Data Access Layer):包含DAO组件,负责与数据库的交互,实现具体的数据存取功能。 4. 数据层(Data Layer):数据库模型,定义数据实体。 详细设计阶段,涉及以下几个关键组件: - 数据库连接类:...

    java中的mvc+dao模式结合

    `Controller`通过业务服务层(Service Layer)调用`DAO`方法来处理数据,然后更新`Model`,最终通知`View`进行界面更新。 例如,在Spring框架中,`Spring MVC`提供了强大的支持来实现`MVC`模式,而`Spring JDBC`或`...

    这是一个非常简单的基于layer的后台框架。.zip

    3. **源代码**:分层架构通常包含表示层(View)、业务逻辑层(Controller/Service)和数据访问层(Model/DAO)。源代码会展示如何在这些层之间组织和实现功能。 4. **数据库脚本**:用于创建和初始化数据库结构,...

    图书管理系统

    总结来说,《图书管理系统》是一个实现了DAO设计模式的Java应用,它提供了对图书信息的全面管理功能。通过DAO模式,系统实现了业务逻辑与数据访问的分离,使得代码更加模块化,易于维护和扩展。同时,采用CS架构保证...

    基于java技术的软件开发架构总结.pdf

    3. **访问层(Data Access Layer)**:这一层负责与数据库或其他数据存储进行交互,通常使用DAO(Data Access Object)模式来实现。DAO是隔离应用程序和数据源之间交互的一种设计模式,使得业务层可以独立于数据存储...

    SmartAdmin.rar

    2. **数据访问层(DAO Layer)**:实现了对数据库的操作,利用MyBatis的动态SQL功能,使得SQL编写更加灵活。 3. **控制器层(Controller Layer)**:接收HTTP请求,调用Service层的方法,处理结果并返回视图。 4. ...

    JAVA设计模式之事务处理.pdf

    本地事务通常在业务逻辑层(Service Layer)进行管理,而非数据访问对象(DAO Layer)。这是因为业务层的每个方法通常对应一个特定的业务用例,可能需要调用多个DAO来完成复杂的操作。例如,在网上书店购书的例子中...

    数据源及分层开发下载资料

    在数据源方面,我们通常在服务层(Service Layer)或者数据访问层(Data Access Object, DAO Layer)进行配置。例如,使用Spring框架,可以配置一个DataSource bean,它可以通过JNDI查找或者直接提供数据库连接参数...

    spring MVC 实现增删改查demo

    总结来说,Spring MVC 实现增删改查涉及到的主要步骤包括配置DispatcherServlet、创建Controller、设计Service和DAO接口及其实现,以及设置视图解析。通过这些组件的协同工作,我们可以构建出高效且易于维护的Web...

    【王继彬】典型三层结构程序设计-第五节:示例并总结

    例如,表现层可以使用DTO(Data Transfer Object)向业务逻辑层传递数据,而业务逻辑层则通过DAO(Data Access Object)与数据访问层交互。 在王继彬老师的讲座中,他可能通过具体的示例展示了如何创建这三个层次的...

Global site tag (gtag.js) - Google Analytics