Data Access Object 数据访问接口,就是访问数据库方法的 interface
1. DAO用来封装Data Source的..就比如,Connection conn = DAOFacotry.createConnection()..
就可以把Driver. URL. username, passpword这一些放在DAO中
以后要更改数据库的类型.比如要把MSSQL换成Oracle的话..只需要更改DAOFacory里面的createConnection()里面的Driver.URL.之类的..
2. DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面..
比如说你要你要插入一个新的用户..那么.在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了..具体的操作是在DAO中实现的...
那么对于要调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户...而不需要知道是如何实现的..
下面是form的三个字段(也就是用户要输三个注册信息)
firstname
lastname
password
分别对应数据库中的三个字段:
firstname
lastname
password:password
当用用户提交了一个注册Form后我就得到了一个fromBean,在完成了对这个formBean的验证(validate)之后我的我的控制转到Action的execute(),到了这里我有两个选择:
*****************************************************************
1:当有没有用到DAO时我会直接在execute()中完成这个formBean对数据库的提交下面是我的伪码:
Sesseion session=.....;
session.save(formBean);
*****************************************************************
2:当有用到DAO时是不是下面这样呢(我自己想的错了不要打我)
a: 先定义一个DAO
Public class UserDao{
private Static Session sessioon=......;(定义一个静态的hibernate session 并initialize)
private String firstName;
private String lastName;
private String password;
public UserDao(String firstName,String lastName,String password){
this.firstName=firstName;
this.lastName=lastName;
this.password=password;
}
public UserDao(UserFormBean useBean){
this.firstName=useBean.firstName;
...
....
}
public void delUser(){
session.delete(this);
session.close();
}
public void addUser( ){
session.saveorUpdate(this);
session.close();
}
.....
...
}
b:在Action中的execute()
UserDao useDao=new UserDao(userFormBean);
useDao.save()
DAO一般是跟Factory和Abstract模式一起用的..
Factory来建立数据库和定位具体的DAO(比如说是UserDao..CustomerDao..)..
Abstract用来定义接口方法的比较:
public interface UserDao {
public insertUser(FormBean) ;
public updateUser(FormBean);
}
然后就实现DAO的接口:
public class UserDaoImpl implements UserDao {
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可以对多个实体对象进行持久化。当应用中需要使用到上十张表时,DAO的维护变...
DAO(Data Access Objects)是微软在早期开发的一种数据库访问技术,它是Microsoft Jet数据库引擎的一部分,主要用于与Access数据库的交互。DAO3.5是DAO的一个特定版本,它在Windows 95和Windows 98时代非常流行,但...
DAO(Data Access Object)封装包是软件开发中用于处理数据访问层的一种设计模式。它将数据库操作与业务逻辑分离,使得代码更易于维护和测试。在这个"dao封装包"中,我们通常会找到一系列与数据库交互的接口和实现类...
ADO 是 ActiveX 数据对象(ActiveX Data Objects)的缩写,它是一种用于访问和操作数据库的技术。ADO 为开发者提供了一个强大的逻辑对象模型,以便开发者通过 OLE DB 系统接口以编程方式访问、编辑并更新各种各样的...
或者,有一个DAO为另一个DAO提供缓存服务。根据具体场景(如数据库性能受限或内存有限),可以选择插入缓存DAO或使用标准无缓存DAO。这些示例展示了DAO模式带来的便利性,但更重要的是其提供的安全性。DAO模式保护...
map-dao,顾名思义,它是一个基于Map数据结构的数据库访问对象(DAO)框架。DAO层是业务逻辑和数据存储之间的桥梁,负责处理与数据库交互的细节,从而降低系统耦合度,提高代码可读性和维护性。map-dao通过提供简洁...
然而,泛型通用DAO也存在局限性,如上述描述所示,它通常只适用于单表操作,对于复杂的关联查询和多表操作可能显得力不从心。此外,它可能无法充分利用ORM框架(如Hibernate、MyBatis等)提供的高级特性,如缓存、...
DAO模式的优点是可以降低耦合度,提高可维护性和可移植性,但它也存在一些缺点,如增加了系统的复杂度,需要更多的编码工作等。 7. 结论 DAO模式是一种非常有用的设计模式,对于基于数据库的应用系统具有非常重要...
在IT行业中,数据库访问对象(DAO,Data Access Object)是一种常用的设计模式,它为应用程序提供了一种与数据库交互的方式,从而解耦了业务逻辑层和数据存储层。本压缩包"DAO_ACCESS.rar"包含了关于使用DAO模式访问...
在IT行业中,DAO(Data Access Object)层是软件设计模式中的一个重要组成部分,它主要用于数据库操作,隔离了业务逻辑层与数据存储层之间的交互。在这个"简单DAO层示例"中,我们将探讨DAO的设计原则、实现方式以及...
这个"小型web程序实例DAO"是一个教学或实践项目,它演示了如何在Web应用程序中使用DAO来处理数据存取操作。下面将详细介绍DAO模式以及在Web程序中的应用。 DAO模式的核心思想是将业务逻辑与数据存取操作分离,这样...
DAO(Data Access Objects)是Microsoft Jet数据库引擎的一部分,它提供了一种编程接口,允许程序员直接与Access数据库进行交互。在VBScript、Visual Basic 6或更早版本中,DAO是与Access数据库进行操作的主要方式之...
在本例中,可能有一个名为`DAInterface`的接口,包含如`add()`, `delete()`, `update()`, `query()`等方法。 2. **数据访问对象(Data Access Object, DAO)**:实现了DAInterface接口的具体类,负责实际的数据库...
`dao350.dll` 文件是 DAO 的一部分,对于许多基于 VB 的应用程序来说,它是必不可少的。 #### 二、常见原因分析 1. **DLL 文件丢失或损坏**:这是最常见的原因之一。如果 `dao350.dll` 文件被意外删除或者受到病毒...
3. **自动生成DAO过程**:在使用这些工具时,首先需要配置数据库连接信息,然后指定要生成DAO的表或模式。工具会自动扫描数据库结构,创建与之对应的实体类,并生成对应的DAO接口和实现类。DAO实现类通常会包含基本...
DAO(Data Access Object)设计模式是一种在软件开发中用于封装对数据库操作的模式,它将数据访问逻辑与业务逻辑分离,使得系统更易于维护和扩展。在这个设计模式中,DAO作为数据层,提供了对数据库的一系列原子性...
基于JDBC实现的DAO(Data Access Object)是一种在Java编程中常见的数据访问模式,它用于封装对数据库的操作,使得业务逻辑层与数据访问层解耦,提高了代码的可复用性和可维护性。以下是关于基于JDBC实现DAO的一些...
2. **DAO实现类**:接着,我们需要创建DAO实现类,例如`UserDaoImpl`,它实现了DAO接口并提供了具体的数据库操作实现。这通常涉及到SQL查询或者使用ORM框架(如Hibernate或MyBatis)来执行数据库操作。 3. **数据...
总的来说,DAO为VB提供了一种直观且强大的方式来处理数据库操作。虽然现在ADO(ActiveX Data Objects)和ADO.NET更常见,但DAO在某些场景下仍然有用,尤其是处理与Access数据库的集成时。通过深入了解DAO,开发者...
DAO模式是一种软件设计模式,它提供了一个接口,用于在业务逻辑和数据库之间进行数据交换。通过使用DAO,我们可以将数据访问的细节隐藏起来,使得业务层与数据库的交互更加简洁、模块化,易于维护。 在HTTP请求中,...