Java 中的数据访问对象 (DAO)
我正在浏览一个文档,我遇到了一个名为.我发现它是一个数据访问对象。有人可以解释一下这到底是什么吗?DAO
我知道它是某种用于从不同类型的源访问数据的接口,在我的这个小研究中,我遇到了一个称为数据源或数据源对象的概念,事情在我的脑海中变得混乱。
我真的想知道在编程上使用a是什么。如何使用?任何从最基本的东西解释这个概念的页面的链接也是值得赞赏的。DAO
我正在浏览一个文档,我遇到了一个名为.我发现它是一个数据访问对象。有人可以解释一下这到底是什么吗?DAO
我知道它是某种用于从不同类型的源访问数据的接口,在我的这个小研究中,我遇到了一个称为数据源或数据源对象的概念,事情在我的脑海中变得混乱。
我真的想知道在编程上使用a是什么。如何使用?任何从最基本的东西解释这个概念的页面的链接也是值得赞赏的。DAO
数据访问对象基本上是一个对象或接口,提供对基础数据库或任何其他持久性存储的访问。
该定义来自:http://en.wikipedia.org/wiki/Data_access_object
另请查看此处的序列图:http://www.oracle.com/technetwork/java/dataaccessobject-138824.html
也许一个简单的例子可以帮助你理解这个概念:
假设我们有一个实体来代表一名员工:
public class Employee {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
雇员实体将保存到数据库中的相应雇员
表中。一个简单的DAO接口来处理操作员工实体所需的数据库操作,如下所示:
interface EmployeeDAO {
List<Employee> findAll();
List<Employee> findById();
List<Employee> findByName();
boolean insertEmployee(Employee employee);
boolean updateEmployee(Employee employee);
boolean deleteEmployee(Employee employee);
}
接下来,我们必须为该接口提供一个具体的实现来处理SQL server,以及另一个处理平面文件等。
什么是数据访问对象 (DAO) -
它是一个对象/接口,用于从数据存储数据库中访问数据。
我们为什么使用 DAO:
从数据资源(如数据库)抽象化数据检索。
这个概念是“将数据资源的客户端接口与其数据访问机制分开”。
直接访问数据的问题在于数据源可能会更改。例如,假设您的应用程序部署在访问 Oracle 数据库的环境中。然后,它随后部署到使用 Microsoft SQL Server 的环境中。如果应用程序使用存储过程和特定于数据库的代码(如生成数字规则),那么如何在应用程序中处理这种情况?您有两种选择:
DAO 模式由以下内容组成:
- 数据访问对象接口 - 此接口定义要对模型对象执行的标准操作。
- 数据访问对象具体类 - 此类实现上述接口。此类负责从数据源获取数据,数据源可以是数据库/xml 或任何其他存储机制。
- 模型对象或值对象 - 此对象是简单的 POJO,包含用于存储使用 DAO 类检索的数据的 get/set 方法。
希望这能帮你澄清一下DAO!