`
anysky131
  • 浏览: 176670 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

DAO模式学习笔记

    博客分类:
  • Java
阅读更多
DAO是Data Access Object数据访问接口。DAO模式是jsp中的一个比较好的,设计思路比较清楚的一个模式.学习后,感觉很好.就把这个模式的自己的理解写下来.以后再用的时候,就方便了.
DAO模式,只使用了jsp,javabean两个东东.javabean主要处理业务逻辑,比方说,连接数据库,对数据库进行各种操作,都可以写在里面.它的代码重用性是很高的.一个bean,处处可用.
DAO模式可以分为VO和DAO。
VO(value object)是一个javabean,称为值对象,里面写进get,set方法。在调用一个参数时,方便之用。
DAO里面有两个部分,一个是接口,一个是实现这个接口的类。
它的写作思路是(自己的理解):
1、先处理VO。写入相关参数的get,set方法。
2、再处理DAO。用一个很清楚的思路,把要处理的方法,比方说,连接数据库、插入数据库、删除数据库等方法,写进这个接口。以便在类中对其进行实现。在这里,接口中的抽象方法,可以在以后要用到时,直接在往里加,所以我觉得它的扩展性很好。
3、第三就是写DAOFactory,DAO工厂。DAO工厂的好处就是可以在页面里,直接用Factroy来调用每一个实例子类的各个方法。实现业务逻辑与数据库资源的分离。这里说明一下,没有这个Factory,jsp和javabean之间的耦合比较紧密。这是它的缺点。而在DAO中加入Factory后,就实现了jsp与javabean的解耦合。使用简单工厂模式,返回数据库存取的接口类型,通过其getInstance()方法获得数据库存取的实际实现类,这样在使用数据库存储对象时,只需通过factory对象获得实例即可。
3、就是对每个接口进行具体实现了。实现每个接口中的抽象方法。
4、再写jsp页面。当在用到哪个方法时,直接用一个<jsp:useBean class="" id="" >来调用就行了。很是方便呀!

DAO 模式是标准 J2EE 设计模式之一。开发人员用这种模式将底层数据访问操作与高层业务逻辑分离开。一个典型的 DAO 实现有以下组件:

  • 一个 DAO 工厂类
  • 一个 DAO 接口
  • 一个实现了 DAO 接口的具体类
  • 数据传输对象(有时称为值对象)
DAO中的工厂具体使用方法:

(转!谢谢!)public class DAOFactory {

private static final SessionFactory sessionFacotory;

// 定义一个TrheadLocal .

static Session currentSession().....

public UserDao getUserDAOInstance() { return new UserDaoImpl(sesssion);}

pulbic OtherDao getOtherDAOInstance() { return new OtherDaoImpl(session);}

......

}

public interface UserDao {

public insertUser(FormBean)

public updateUser(FormBean);

}

然后就实现DAO的接口: (Struts的FormBean...VO来的..)

public class UserDaoImpl implements UserDao {

private Session session;

public UserDaoImpl(Session session){

this.session = session;

}...

public insertUser(FormBean) {

..//..

session.save(UserPO);

..//..

return FormBean;

}

public FormBean updateUser(FormBean) {

..//..

session.update(UserPO);

..//..

return FormBean;

}

}

最后定义你的PO:

public class UserPO {

String firstname, lastname, password..........

}

在引用一个实例时,使用:DAOFactory.getUserDAOInstance().insertUser(FormBean);即实现了调用子类的insertUser(FormBean)方法;

分享到:
评论

相关推荐

    web学习笔记 —— DAO设计模式

    在Web开发中,DAO模式是常用的数据访问层实现方式。 DAO模式的核心思想是创建一个接口,这个接口定义了对数据的访问方法,如增删改查等。然后为这个接口创建一个或多个实现类,这些实现类会具体实现接口中定义的...

    J2EE学习笔记--DAO设计模式基础.txt

    ### J2EE学习笔记——DAO设计模式基础 #### 一、引言 在J2EE(Java 2 Enterprise Edition)开发中,DAO (Data Access Object) 设计模式是一种常用的数据访问层实现方式,用于分离业务逻辑与数据访问逻辑,使得程序...

    MyBatis学习笔记—代理DAO开发

    ### MyBatis学习笔记——代理DAO开发 #### 一、概述 在Java开发领域中,MyBatis是一款非常流行的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果...

    使用MVC+DAO完成用户登陆(代码+笔记)

    在IT行业中,MVC(Model-View-Controller)和DAO(Data Access Object)模式是两种常见的软件...文件"项目07_使用MVC+DAO完成用户登陆(代码+笔记)"应该包含了实现这一功能的详细步骤和代码示例,可以进一步学习和参考。

    JSP+DAO留言管理程序(代码+笔记)

    通过此项目,你可以熟悉JSP的页面指令、内置对象、脚本元素等特性,掌握DAO模式的设计和实现,以及如何使用JDBC进行数据库操作。同时,这也能帮助你了解Web开发的基本流程,为更复杂的项目打下坚实基础。 总结,JSP...

    JFINAL学习笔记

    【JFinal学习笔记】 JFinal 是一款基于 Java 语言的轻量级 Web 开发框架,它的设计目标是简化开发流程,提高开发效率。本篇学习笔记主要围绕 JFinal 的核心概念和常用操作展开,帮助初学者更好地理解和使用 JFinal...

    MVC+DAO_留言管理程序(代码+笔记)

    DAO模式的优势在于可以将数据库操作封装起来,使得业务逻辑与数据访问逻辑分离,有利于代码的复用和测试。 1. DAO接口:定义了对数据库操作的方法,如获取所有留言、添加新留言、更新指定留言、删除留言等。 2. DAO...

    MVC+DAO_留言管理程序(代码+笔记).

    在" MVC+DAO_留言管理程序"中,我们可以推测这是一个使用Java技术栈实现的Web应用,它采用了MVC设计模式来组织代码结构,同时利用DAO模式来处理数据存取。下面将详细阐述这两个关键知识点: 1. **MVC模式的组成部分...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    Eclipse 开发学习笔记第17章源码

    在本章"Eclipse开发学习笔记第17章源码"中,我们将深入探讨如何使用Eclipse集成开发环境(IDE)来构建一个实际的在线购物系统。这个实例将涵盖多个关键的IT知识点,包括软件工程的设计原则、Java编程、Web应用程序...

    JavaEE学习笔记

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...

    ssh学习笔记

    根据提供的文件信息,可以看出这份学习笔记主要关注于SSH(Struts、Spring 和 Hibernate)框架的配置与使用。接下来,我们将详细解析这些知识点。 ### 一、Spring 框架依赖 Spring 是一个开源的轻量级Java开发框架...

    SpringMVC 学习笔记一

    **SpringMVC 学习笔记一** 在Java Web开发领域,SpringMVC是Spring框架的一个重要组成部分,它是一个用于构建Web应用程序的Model-View-Controller(MVC)框架。本学习笔记将深入探讨SpringMVC的基本概念、核心组件...

    spring学习笔记

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...

    mybatis学习笔记代码

    在“mybatis学习笔记代码”中,我们可以深入探讨以下几个关键知识点: 1. **MyBatis架构**:MyBatis由SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession三个核心组件构成。SqlSessionFactoryBuilder用于...

    JDBC学习笔记

    ### JDBC学习笔记知识点详解 #### 一、JDBC理论概述 **JDBC**(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供...

    Spring学习笔记 包括SSH的整合

    总之,Spring学习笔记对于理解SSH整合的全过程及其背后的设计原则非常有帮助,对于希望深入学习Java Web开发的开发者来说是一份宝贵的资源。通过实践和阅读这样的笔记,开发者可以更好地掌握这三大框架的使用,提升...

    留言管理程序_使用Struts + DAO + Hibernate完成笔记.zip

    【DAO设计模式】:DAO模式是一种常用的设计模式,它的主要作用是将数据访问操作封装起来,提供一个接口供业务层调用,从而将业务逻辑与数据访问逻辑分离。在本项目中,DAO类负责执行SQL语句,处理与数据库相关的操作...

    Spring学习笔记.doc

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...

Global site tag (gtag.js) - Google Analytics