`
163
  • 浏览: 24624 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论
阅读更多

DAO(Database Access Object),顾名思义就是数据库访问接口,也就是和数据库打交道操作对象.而这些操作往往可以从系统的业务逻辑中独立出来,从而使系统中的数据库操作变得统一和简单化(相对于数据库具体操作混合业务逻辑操作),而且也可以使得系统在和数据库交互出错时,更快的定位问题.
总而言之,我觉得,使用DAO的目的是,将数据控制层和业务逻辑控制层分离开,这样不仅更有利于项目开发时的功能划分和工作分配(负责数据层的人员只注重数据操作,负责业务逻辑控制的开发人员只关注业务逻辑,使得各人的分工简化明晰),在项目维护时也更容易定位和解决问题.

我对DAO层的理解是:DAO层只对数据访问(一般是访问数据库)进行管理,不涉及具体业务逻辑。

使用DAO很重要的一个原因是 单元测试。分开的service和dao可以单独测试。dao做数据库继承测试,service做mock模拟测试。


如果你的service里涉及除dao之外的业务逻辑,比如计算这个那个之类的,分离测试的好处就非常非常明显。

现在我就建一个实现常用接口的DAO Class,通过spring配置不同的DAO Object,90%以上的DAO Class都不用写了.做了一个30个table的App,只写了2个DAO Class.
既可保持层次架构,又简便.

分享到:
评论
2 楼 飞翔的龙6666 2008-08-07  
好  学习了
1 楼 java_lk 2008-08-06  
"通过spring配置不同的DAO Object,90%以上的DAO Class都不用写了.做了一个30个table的App,只写了2个DAO Class. "

最近才开始用spring,请问你是怎么做的?谢谢!!

相关推荐

    Java面向对象程序设计-分层(什么是DAO模式).pptx

    什么是DAO模式? DAO模式是一种软件设计模式,主要作用是封装数据库操作。它位于业务逻辑和持久化数据之间,负责实现对持久化数据的访问。DAO模式的主要设计思想是高内聚、低耦合,隔离业务逻辑代码和数据访问代码,...

    通用DAO

    首先,我们需要理解什么是DAO模式。DAO模式是一种软件设计模式,它的主要目标是为应用程序提供一个抽象层,以便与数据库交互。通过使用DAO,我们可以将业务逻辑与数据存储细节分离,使得代码更加模块化,更容易测试...

    第12章 数据库操作-DAO篇.rar_C# 数据库 操作_Dao 数据库_dao

    1. **什么是DAO** DAO是数据访问对象的缩写,它提供了一种方式来封装对数据库的所有操作,使得业务逻辑与数据存储分离。通过DAO,我们可以创建一组接口或类,这些接口或类代表数据库中的表或特定操作,从而解耦了...

    Hibernate DAO生成器

    **一、什么是DAO** 数据访问对象(Data Access Object)是一种设计模式,主要用于封装对数据库的访问,将业务逻辑与数据访问代码分离。DAO类通常包含了一系列与数据库交互的方法,如查询、插入、更新和删除数据。...

    spring hibernate 泛型DAO

    首先,让我们理解什么是DAO(Data Access Object)模式。DAO是一种设计模式,它的主要作用是隔离业务逻辑层与数据访问层,提供了一种对数据库进行操作的抽象接口,使得业务逻辑组件不必直接与数据库进行交互。这样做...

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    JAVA反射的实现(使DAO层变得更加简单)

    首先,让我们理解什么是DAO层。DAO层是应用程序与数据库交互的一层抽象,它的主要职责是封装SQL查询,处理数据库操作,从而解耦业务逻辑与数据存储。传统的DAO类通常需要为每种数据库操作创建一个方法,如insert、...

    泛型dao

    首先,我们需要了解什么是DAO。DAO(Data Access Object)模式是一种常用的设计模式,它的主要作用是为应用程序提供一个访问底层数据存储的抽象层,比如数据库。这样做的好处是解耦了业务逻辑和数据访问逻辑,提高了...

    Dao3.5数据库引擎

    DAO(Data Access Objects)是微软在早期开发的一种数据库访问技术,它是Microsoft Jet数据库引擎的一部分,主要用于与Access数据库的交互。DAO3.5是DAO的一个特定版本,它在Windows 95和Windows 98时代非常流行,但...

    Dao Jet数据库引擎

    DAO Jet数据库引擎是微软在早期开发的用于访问和管理Access数据库的一种组件,它与Jet数据库引擎密切相关。Jet引擎是Microsoft Windows操作系统中一个内置的数据库管理系统,主要用于支持Access数据库和其他使用Jet...

    系统配置文件 dao350和dao360

    标题中的“系统配置文件 dao350和dao360”指的是Microsoft Office系统中的数据库访问对象(DAO,Database Access Objects)版本350和360。DAO是Microsoft Jet数据库引擎的一部分,主要用于与Access数据库或其他Jet...

    dao3.5数据库+引擎.zip

    DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,如Access数据库。DAO 3.5是DAO的一个版本,它在Windows操作系统中广泛使用,尤其是在16位和32位应用程序中。...

    Mybatis自动生成dao与model类的工具

    1. **什么是DAO和Model类**: - DAO类是数据库操作的接口或抽象类,它封装了对数据库的CRUD(创建、读取、更新、删除)操作,是业务逻辑层与数据访问层之间的桥梁。 - Model类通常代表数据库表的一个实体,包含了...

    dao3.5数据库安装文件

    DAO(Data Access Objects)是微软在早期开发的一种用于访问数据库的应用程序编程接口(API),它在Visual Basic 6和早期的Microsoft Office版本中被广泛使用。DAO 3.5是该技术的一个特定版本,适用于32位操作系统。...

    DAO详解 详细讲述了DAO的使用

    **DAO详解** DAO(Data Access Object)模式是软件设计中的一种模式,主要用于数据库访问层的抽象,它将数据操作逻辑封装在对象中,使得业务逻辑层与数据存储层解耦,提高了代码的可复用性和可维护性。本文将深入...

    dao jet数据库引擎

    DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,它是Access数据库的基础。Jet数据库引擎是微软开发的一种强大的、快速的数据库管理工具,尤其适用于小型到...

    dao包封装包

    DAO(Data Access Object)封装包是软件开发中用于处理数据访问层的一种设计模式。它将数据库操作与业务逻辑分离,使得代码更易于维护和测试。在这个"dao封装包"中,我们通常会找到一系列与数据库交互的接口和实现类...

    DAO3.6中文参考

    DAO(Data Access Objects)是微软在早期开发Access数据库应用程序时引入的一个对象模型,它提供了与数据库交互的方法和接口。DAO3.6是DAO的一个特定版本,主要用于与Access 97数据库进行通信。在这个版本中,DAO...

    DAO设计模式 DAO 设计模式 JAVA设计模式

    DAO(Data Access Object)设计模式是软件开发中一种常见的用于处理数据访问的模式,它将业务逻辑与数据访问逻辑分离,使得代码结构更加清晰,更易于维护和测试。在Java开发中,DAO模式广泛应用于数据库操作,为应用...

Global site tag (gtag.js) - Google Analytics