Dao模式相信程序员xdjm都应该知道,一个非常经典的模式
用了很长时间,在此总结一下.
一.什么是DAO
DAO是DataAccessObject数据访问接口,
二.DAO的功能:
<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>
1.与数据库打交道。夹在业务逻辑与数据库资源中间。
2.DAO是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面.
三.DAO的实现
1.一个DAO工厂类;
2.一个DAO接口;
3.一个实现DAO接口的具体类;
4.数据传递对象VO(有些时候叫做值对象).<o:p></o:p>
如果使用一些框架如spring+hibernate<o:p></o:p>
只需写dao的接口和实现即可以了,而且jdk1.5已经支持泛型,可以写一个BaseDaoSupport,<o:p></o:p>
把常用的通用的方法抽象出来,这样写dao就更简单了.<o:p></o:p>
四.DAO的好处<o:p></o:p>
非常常用的写法Service+Dao<o:p></o:p>
1. 数据库操作代码(Dao)和业务逻辑代码(Service)分开
2 .DAO层有助于分层结构的清晰
3.Service中可以操作多个dao,进行多表操作.,如果用spring的声明事务,可以把多表操作纳入到一个事务当中.
4.便于在不用数据库实现间的切换,如果有这种需求.
5.有利于项目开发时的功能划分和工作分配, 项目维护时也更容易定位问题
6.降低耦合, 易维护
关于Dao的使用,每个人都有自己的看法,总之简单实用就好.<o:p></o:p>
- 大小: 5.6 KB
分享到:
相关推荐
DAO(Data Access Object)模式是一种软件设计模式,用于在应用程序中处理数据访问层的逻辑,以实现...学习DAO模式有助于提升开发者对数据访问层的设计和实现能力,尤其是在企业级应用开发中,DAO模式的应用尤为广泛。
学习DAO模式,实际上是在学习如何利用设计模式解决特定问题的思维方式。 2. **无限制的层级**:DAO模式可以有多个层次,每一层可以处理不同级别的数据访问逻辑。这允许我们根据项目需求,灵活地组织和扩展数据访问...
内容访问模式,通常被称为数据访问对象(DAO,Data Access Object)模式,是软件工程中用于封装与数据库交互的常用设计模式。...通过学习DAO模式并实践相关代码,开发者可以提升其在数据管理方面的专业技能。
Java DAO(Data Access Object)模式是一种常见的设计模式,主要用于封装对数据库的操作,使得业务逻辑与数据访问代码分离...学习DAO模式有助于初学者理解如何在Java中构建分层架构,提高软件设计的灵活性和可扩展性。
总结来说,"StuDAO.rar_dao"压缩包提供了一个学习DAO模式的实践案例,通过学习这个案例,开发者可以掌握如何设计和实现DAO,以及如何利用DAO模式来优化数据库操作,提高软件的可扩展性和可维护性。
**Java DAO模式实现详解** ...通过学习和理解DAO模式以及相关组件的使用,开发者可以更好地组织数据库操作代码,提升程序的可读性和可维护性。同时,熟悉JDBC和事务管理对于任何Java开发者来说都是必要的技能。
在Web开发中,DAO模式是常用的数据访问层实现方式。 DAO模式的核心思想是创建一个接口,这个接口定义了对数据的访问方法,如增删改查等。然后为这个接口创建一个或多个实现类,这些实现类会具体实现接口中定义的...
这个实验是一个很好的实践,它让学习者亲身体验了DAO模式在实际开发中的运用,包括从设计接口到实现数据库连接,再到编写测试用例的全过程。虽然遇到问题,但通过不断调试和改进,有助于提高对软件开发过程的理解和...
这些知识点的结合,意味着你可能需要编写能够使用JDBC与Oracle数据库进行交互的Java程序,同时运用DAO模式来实现数据访问的抽象和隔离。这样的复习涵盖了编程、数据库和设计模式等多个层面,对于提升你的IT技能...
在给定的"Mvc+DAO模式例子"压缩包中,可能包含了实现了MVC模式和DAO模式的Java源代码,包括Servlet、JSP、JavaBean以及对应的DAO类。这些文件可以作为学习和理解这两种模式的实例,通过分析和运行代码,可以帮助初学...
在给出的文件`DAODesign`中,可能包含了关于如何在实际项目中应用工厂模式和DAO模式的示例代码或者分析文章,可以进一步学习理解这两种模式的结合使用。通过深入理解和实践这两种模式,能够提升我们的编程技巧,使...
DAO(Data Access Object)设计模式是一种软件设计模式,它用于封装对数据库的所有访问,从而将业务逻辑和数据访问逻辑...通过学习本教程,你应该能理解和掌握DAO模式的基本概念,以及如何在实际项目中应用和扩展它。
在这个"Mysql DAO模式上机练习 参考作业"中,我们可以深入学习如何在Java环境下使用DAO模式来操作MySQL数据库。 首先,`entity`目录可能包含了项目中的实体类(Entity Classes)。在DAO模式中,实体类是用来映射...
在学习DAO设计模式的过程中,可以参考博客"设计模式5——DAO",该博客可能是对DAO模式的深入讲解,包括原理、优缺点、使用场景以及实践案例。同时,通过阅读这个压缩包中的"dao"文件,你可能能获取更具体的实现示例...
DAO(Data Access Object)模式是软件开发中常用的设计模式,主要目的是为了将数据访问层与业务逻辑层解耦,提供一个抽象层来处理数据库操作。...通过学习这些资料,开发者可以更好地理解和实践DAO模式,提升代码质量。
DAO模式通过在数据访问层实现统一的资源调度,比如使用数据库连接池和缓存机制(如StatementCache、DataCache等),可以在不改变上层代码的情况下大幅提升系统性能。 4. **数据抽象**: - DAO模式通过对底层数据的...
本教程将逐步介绍如何搭建一个基于DAO模式的Java项目。 1. **DAO模式的概念** DAO模式的核心思想是创建一个接口或抽象类,定义数据访问的方法,然后提供一个具体的实现类来完成实际的数据操作。这样可以将数据访问...
- **解耦:** DAO模式的核心目标之一就是实现业务逻辑层与数据访问层之间的解耦。 - **重用性:** 数据访问逻辑可以被多个业务组件复用,提高了代码的重用性。 - **灵活性:** 通过抽象出数据访问接口,可以在不修改...
DAO(Data Access Object)设计模式是一种在软件...这个例子中的"DAOFinal"可能包含了实现这些设计模式的具体代码和SQL脚本,供开发者参考学习。通过实践这些模式,开发者可以构建出更加健壮、易于维护的数据库访问层。
本资源“Hibernate_通用DAO模式”提供了一种适用于不同类型表单的DAO实现,基于SSH(Struts2、Spring、Hibernate)框架,特别强调简洁、易懂和高可移植性。 首先,SSH框架是Java Web开发中的经典组合,Struts2负责...