DAO设计模型

DAO(数据访问对象)在web开发中是业务逻辑层和数据库间的桥梁,主要用于处理数据库操作。DAO由DatabaseConnection、VO、DAO接口、Impl、Proxy和Factory等组件构成,实现了数据库操作的原子性。通过DAO接口预定义增删改查操作,利用Factory获取DAO实例,简化数据库交互。在MVC模式下,DAO常与Servlet结合,增强数据层和表示层的分离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       DAO是什么

       DAO(数据访问对象)在web程序设计中是业务逻辑层和数据库之间的一个层级。用来接收业务请求并对数据库进行处理。

       了解DAO,首先要知道web开发的层级。

       现在的web开发主要使用的是MVC的设计模式。所以按照“显示-业务-控制器”的理念。我们将web分为客户层、显示层、业务层、数据层(DAO)和资源层(数据库)。

       客户层就是客户使用的浏览器。这一端基本上不用我们处理。

       显示层就是显示在用户浏览器上的各种画面,现在广泛使用JSP。

       业务层是整个项目的核心。对多个DAO操作进行组合。

       数据层(DAO)是专门提取出来处理数据库的操作对象。是一个个原子性的对象。

       资源层主要是数据库的操作层,可以对数据进行增删改查。但是如果直接使用资源层操作处理数据库,会让代码变得复杂混淆难以重用。所以我们将操作提炼出来,也就成了DAO层。       

       DAO的组成

       一个DAO一共由六个类或者接口组成。他们分别是:

       DatabaseConnection:专门负责数据库的打开和关闭。

       VO:由属性、setter和getter方法组成。它的每一个属性和表中的字段相对应,每一个VO类实例化的对象,就表示了表中的一条记录。这个类的名字和表名要一致。假设表名为xxx

       DAO:这是一个接口,来预先定义一系列增删改查的操作。命名规则为IxxxDAO.java。

       Impl:DAO的真实实现类,命名规则为xxxDAOImpl。这个类最好放到DAO的子包里面。要给这个类写一个构造方法,传入一个connection的对象。然后复写DAO中定义的方法即可。

       Proxy:代理实现类,就是打开关闭数据库,然后调用Impl来实现。命名规则是xxxDAOProxy。

       Factory:工厂类,通过工取得DAO的实例化对象。命名规则是DAOFactory。实际使用此DAO操作时,只需要导入VO所在的包和工厂包即可。

       DAO接口的设计

       DAO接口是用来预定义操作的。

       增加表单中的条目

       publicBoolean doCreat(VO对象) throws Exception;

       查找并返回所有符合关键字的VO

       publicList<VO类> findAll(String keyWord) throws Exception;

       查找符合ID的单个VO

       publicVO类 findById(int id) throws Exception;

       DAO模型

       在模式I中,使用这样的封装之后,只需要调用方法,就可以对数据库进行操作。

       比如在JSP提交页面后的跳转页面里,用scriptlet定义一段代码,实例化一个VO,并根据表单赋值,然后调用插入的方法,就可以可以成功插入一个新的VO了。

       在MVC模式中,也会使用DAO。区别是在JSP和DAO之间加入了Servlet,使得数据层和表示层进一步的分离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值