`
tenn
  • 浏览: 578088 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

浅谈DAO模式

阅读更多

什么是DAO

  DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

DAO的功能:

  1. DAO用来封装Data Source的..就比如,Connection conn = DAOFacotry.createConnection()..
  就可以把Driver. URL. username, passpword这一些放在DAO中
  以后要更改数据库的类型.比如要把MSSQL换成Oracle的话..只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之类的..
  2. DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面..
  比如说你要你要插入一个新的用户..那么.在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了..具体的操作是在DAO中实现的...
  那么对于要调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户...而不需要知道是如何实现的。

  一般 DAO是与Abstract Factory模式一起来用的...

  Factory来建立数据库和定位具体的DAO(比如说是UserDao..CustomerDao..)..一般将getConnection设置为static..也可以把HibernateSessionFactory这一个公共类放在这一AbstractFactory类中去...


  public class DAOFactory {
  private static final SessionFactory sessionFacotory;
  // 定义一个TrheadLocal .
  static Session currentSession().....
  public UserDao getUserDAO() { return new UserDaoImpl(sesssion);}
  pulbic OtherDao getOtherDAO() { 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..........
  }

分享到:
评论

相关推荐

    浅谈对于DAO设计模式的理解

    浅谈DAO设计模式的理解 DAO(Data Access Object)设计模式是一种常用的软件设计模式,它的主要目的是将业务逻辑与数据库访问相分离,降低耦合性,提高系统的可维护性和扩展性。下面是对DAO设计模式的理解和实现的...

    浅谈基于DAO的设计模式在构建BBS网站中的应用

    DAO模式的核心理念是将业务逻辑与数据访问层进行解耦,这样即使数据库结构发生变化,只需修改DAO层的实现代码,而无需改动业务逻辑代码,增强了系统的可维护性和可扩展性。 在BBS网站的开发中,通常会面临数据库...

    浅谈SSH学习要点

    进阶部分,你可以探索如何简化Session的生成,减少手动管理,以及DAO(Data Access Object)的设计模式,这可以提高代码的可复用性和可维护性。同时,深入研究关联映射和继承映射,能够帮助你在数据库设计上实现更...

    浅谈SQL Server数据库访问.pdf

    "浅谈SQL Server数据库访问" 本文主要介绍了Microsoft SQL Server数据库的基本概念和访问方法,讨论了三种常用的数据库访问接口DAO、ODBC和ADO,并提供了一些示例程序来访问SQL Server数据库。此外,本文还介绍了...

    浅谈Android MVP

    通常,这部分会包含数据访问对象(DAO)或者网络请求库,如Retrofit或Volley,用来获取远程数据,以及SQLite数据库或SharedPreferences来处理本地数据存储。 **二、视图(View)** 视图层是用户界面的实现,通常是...

    浅谈MVC设计模式(示例)

    - **M层(Model)**:在这个例子中,可能包含一个`Person`类,用于封装用户ID和密码,以及一个`DAO`(数据访问对象)接口,用于与数据库交互验证用户身份。`DAOFactory`工厂类用于创建`PersonDAO`实例,以便在业务...

    浅谈Spring+Hibernate整合(共16页).doc

    在 Spring 中整合 Hibernate,主要是为了利用 Spring 提供的事务管理和 DAO 支持,提高代码的可维护性和可扩展性。Spring 通过配置文件(通常是 XML 格式)来管理 Bean,包括 Hibernate 的 SessionFactory 和 ...

    浅谈php常用的7大框架的优缺点

    Yii适合开发大型Web应用,它不仅提供了丰富的功能,比如DAO/ActiveRecord、缓存、安全性和主题化等,还拥有详尽的教程和文档。Yii的优点还包括社区活跃、对UTF-8的支持、以及对PHP4和PHP5的兼容性。但是,Yii在对...

    浅谈基于Struts和Hibernate的J2EE应用

    5. 编写DAO(Data Access Object)层,利用Hibernate API进行数据操作。 6. 创建JSP页面,使用Struts标签库展示数据和处理用户输入。 【参考资料与学习资源】 学习Struts和Hibernate的开发者可以通过官方文档、在线...

    浅谈Java中Mysql数据库的连接与操作.zip

    在实际开发中,为了提高代码的可维护性和可复用性,我们通常会使用DAO(Data Access Object)模式来封装这些数据库操作。此外,ORM(Object-Relational Mapping)框架如Hibernate和MyBatis也可以简化数据库操作,...

    浅谈C# WinForm中实现基于角色的权限菜单

    三层架构是一种软件设计模式,它将应用程序分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责与用户交互,业务逻辑层处理业务规则和流程,而数据访问层则负责与数据库的交互。这种分层设计使得...

    浅谈Asp.net多层架构中的变量引用与传递

    在Asp.net开发中,多层架构是一种常见的设计模式,旨在提高代码的可维护性、可扩展性和可重用性。这种架构将应用程序分为数据层、业务逻辑层(或称逻辑层)和表示层,每个层都有明确的职责,使得各层之间解耦合。 1...

    浅谈PHP的数据库接口和技术

    DAO是一种设计模式,它将数据访问逻辑从业务逻辑中抽象出来,使得业务逻辑不与特定的数据源绑定。DAO通常封装原生数据库访问接口,以对象的方式提供数据库访问能力。在许多PHP框架中,如YII,DAO是通过封装PDO实现的...

    浅谈基于WINCC工控组态软件的关系数据库

    6. ODBCDirect:DAO的新模式,适用于远程数据源访问。 7. OLEDB:底层数据访问接口,用于开发面向ADO的第三方驱动或C++组件。 8. 远程数据访问控件(RDC):用于RDO数据绑定,将结果集输出到数据源控件。 9. 远程数据...

    浅谈SpringMVC+Spring3+Hibernate4开发环境搭建

    在现代Web开发中,Model-View-Controller(MVC)架构模式已经成为标准,SpringMVC、Spring和Hibernate的组合更是广泛应用于大型企业级项目。本文将深入探讨如何搭建基于SpringMVC、Spring3和Hibernate4的开发环境。 ...

Global site tag (gtag.js) - Google Analytics