在学习数据访问层之前,需要了解的一个术语:持久化。持久化是将程序中的数据在瞬时状态和持久状态间转换的机制。
持久化的主要操作包括:保存、删除、修改、读取和查找等。
DAO模式
DAO(DataAccessObjece,数据存取对象),是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。
DAO模式的优势,在于它实现了两次隔离。
- 隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了耦合性,提高了可复用性。
- 隔离了不同数据库实现。采用面向接口编程,如果底层数据库变化,如由SQL Server变成Oracle,只要增加DAO接口的新实现类即可,原有SQL Server实现不用修改。这符合“开–闭”原则,降低了代码的耦合性,提高了代码扩展性和系统的可能性。
DAO模式主要由以下几个部分组成:
- DAO接口:把对数据库的所有操作定义成抽象方法,可以提供多种实现。
- DAO实现类:针对不同数据库给出DAO接口定义方法的具体实现。
- 实体类:用于存放与传输对象数据。数据类型、名称与数据库一一对应。
- 数据库连接和关闭工具类:避免了数据库连接和关闭代码的重复使用,方便修改。
分层开发
优势:
- 每一层专注与自己的功能实现,便于提高质量。不同层次的关注点是不同的,数据访问层主