DAO(Data Access Object)
DAO(Data Access Object)数据访问对象是一个面向对象的数据库接口,存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。
DAO模式
对外提供相应的接口
在面向对象设计过程中,有一些"套路”用于解决特定问题称为模式。
DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接口。
从以上 DAO 模式使用可以看出,DAO 模式的优势就在于它实现了两次隔离。
- 隔离了数据访问代码和业务逻辑代码。
业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了藕合性,提高了可复用性。
- 隔离了不同数据库实现。
采用面向接口编程,如果底层数据库变化,如由 MySQL 变成 Oracle 只要增加 DAO 接口的新实现类即可,原有 MySQ 实现不用修改。这符合 “开-闭” 原则。该原则降低了代码的藕合性,提高了代码扩展性和系统的可移植性。
一个典型的DAO 模式主要由以下几部分组成:
-
DAO接口: 把对数据库的所有操作定义成抽象方法,可以提供多种实现。
-
DAO 实现类: 针对不同数据库给出DAO接口定义方法的具体实现。
-
实体类:用于存放与传输对象数据。
-
数据库连接和关闭工具类: 避免了数据库连接和关闭代码的重复使用,方便修改。