我在浏览一份文档时,遇到了一个叫做DAO的术语。我发现它是一个数据访问对象。谁能给我解释一下这到底是什么?

我知道它是一种用于访问来自不同类型数据源的数据的接口,在我的这个小研究中,我偶然发现了一个叫做数据源或数据源对象的概念,我的头脑中混乱了。

我真的想知道DAO在编程上是什么,以及它在哪里被使用。它是如何使用的?任何从最基本的东西解释这个概念的页面链接也很受欢迎。


当前回答

Dao类用于重用jdbc逻辑& Dao(数据访问对象)是一种设计模式。 dao是一个简单的java类,它包含JDBC逻辑。

数据访问层已被证明在独立的业务逻辑层和持久层中表现良好。DAO设计模式对其客户机完全隐藏了数据访问实现

Java数据访问对象(Java DAO)是业务应用程序中的一个重要组件。业务应用程序几乎总是需要访问关系数据库或对象数据库中的数据,Java平台为访问这些数据提供了许多技术。最古老和最成熟的技术是使用Java数据库连接(JDBC)API,该API提供了对数据库执行SQL查询的功能,然后一次一列地获取结果。

其他回答

数据访问对象管理与数据源的连接,以获取和存储数据。它抽象了业务对象的底层数据访问实现,以支持对数据源的透明访问。 数据源可以是任何数据库,如RDBMS、XML存储库或平面文件系统等。

数据访问对象模式或DAO模式用于将低级数据访问API或操作与高级业务服务分开。以下是数据访问对象模式的参与者。

数据访问对象接口——这个接口定义了要在模型对象上执行的标准操作。

数据访问对象具体类——这个类实现了上面的接口。该类负责从数据源获取数据,数据源可以是database / xml或任何其他存储机制。

模型对象或值对象——该对象是简单的POJO,包含get/set方法,用于存储使用DAO类检索到的数据。

示例代码在这里..

Pojo也可以作为Java中的Model类,我们可以在其中为私有定义的特定变量创建getter和setter。 记住所有变量都是用私有修饰符声明的

什么是数据访问对象(DAO) -

它是一个对象/接口,用于从数据存储的数据库中访问数据。

为什么使用dao:

从数据资源(如数据库)中提取数据的方法。 其概念是“将数据资源的客户端接口与其数据访问机制分离”。  

直接访问数据的问题是数据的来源可能会改变。例如,假设您的应用程序部署在访问Oracle数据库的环境中。然后将其部署到使用Microsoft SQL Server的环境中。如果应用程序使用存储过程和特定于数据库的代码(比如生成一个数字序列),在应用程序中如何处理?你有两个选择:

重写应用程序以使用SQL Server而不是Oracle(或添加条件代码来处理差异),或者 在应用程序逻辑和数据访问层之间创建一个层


DAO模式由以下内容组成:

数据访问对象接口——这个接口定义了要在模型对象上执行的标准操作。 数据访问对象具体类——这个类实现了上面的接口。该类负责从数据源获取数据 它可以是数据库/ XML或任何其他存储机制。 模型对象或值对象——该对象是简单的POJO,包含get/set方法,用于存储使用DAO类检索到的数据。

看例子

我希望这已经澄清了您对DAO的理解!

我认为最好的例子(以及解释)你可以在oracle网站上找到:这里。另一个好的教程可以在这里找到。