DAO 模式 详解

DAO模式

DAO(Data Access Object)数据访问对象。主要的功能就是用于进行数据操作的,在程序的标准开发架构中属于数据层的操作

先来看基本的架构分层

企业分层架构:

  • 客户层:B/S结构都使用浏览器,C/S结构则是一个客户端
  • 显示层:使用JSP/Servlet进行页面效果的显示
  • 业务层:(Business Object,业务对象):会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。
  • 数据层(DAO):提供多个原子性的DAO操作(数据持久化操作),例如:增加、修改、删除等,都属于原子性的操作。
  • 资源层:用来存放数据资源的地方,主要是指数据库。

(业务层是整个项目的核心,用来完成我们具体的业务需求。这篇我们主要学习DAO层。)

DAO层主要是来干什么的呢?

当我们完成一个业务需求需要使用资源时,如果直接调用资源层,就要直接对数据库进行操作,这时,业务层不光要完成具体业务的实现,还需要兼顾——编写SQL语句、连接数据库、和数据库进行交互、获得数据等等的操作。而且不利于一个程序的重用性。

所以我们需要让业务层只来做业务实现,然而和数据库的沟通交流交给DAO层来实现。

为了让我们程序更加高效,DAO层中的操作也需要我们进行细化,让每一个类只完成一个具体的工作

DAO的组成:

在整个DAO中实际上都是以接口为操作标准的,即:客户端依靠DAO实现的接口进行操作,而服务端要将接口进行具体的实现。DAO由以下几个部分组成。

  • DatabaseConnection:专门负责数据库的打开与关闭操作的类
  • VO:主要由属性、setter、getter方法组成,VO类中的属性与表中的字段相对应,每一个VO类的对象都表示表中的每一条记录;
  • DAO:主要定义操作的接口,定义一系列数据库的原子性操作,例如:增加、修改、删除、查询等;
  • Impl : DAO接口的真实实现类,完成具体的数据库操作,但是不负责数据库的打开和关闭;
  • Proxy :代理实现类,主要完成数据库的打开和关闭,并且调用真实实现类对象的操作
  • Factory :工厂类,通过工厂类取得一个DAO的实例化对象

示例:

包的组成和类的命名

在这里插入图片描述
(个人写法,仅供参考)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值