DAO 是 Data Access Object 的缩写,它是一种数据库访问设计模式,定义了数据访问的规范,专注于把数据从数据源移动到应用程序,促进不同层之间的解耦合。 DAO设计模式有利于更加优雅和通用地操作数据,避免了数据访问“硬编码”,利于程序更快速更新。 DAO 模式提供单一访问接口,允许更轻松的访问不同数据存储(例如,文本文件,数据库,XML 文档),以及更轻松的把数据从一种数据存储移动到另一种数据存储。 DAO主要包括以下三个主要部分:数据模型,数据访问对象和数据访问层。数据模型是一种用来表示要操作的数据以及它们之间关系的抽象。数据访问层是一种接口,它把应用程序和数据库中的实际数据连接起来,同时维护安全性,正确的访问控制,错误处理和事物管理。数据访问对象是一种特殊的对象,它负责对数据进行检索,更新和删除。 DAO也可以结合应用型框架实现。这样的框架集合了一系列定义的持久化规范,例如会话 bean(SessionBean),entity bean(EntityBean)和持久性提供程序(persistence provider)等等。 DAO 提供数据库访问方便和通用。它不仅可以在小型应用程序中使用,而且可以在大规模分布式应用程序中使用。这可以避免真正面向数据库的编程,帮助保护应用程序从数据存储访问错误中得以保护。它增强了系统分离,数据隐藏,严格的授权和一致性管理。