DAO模式
DAO(Data Access Objectm,数据存取对象),位于业务逻辑和之久数据之间,实现对持续化数据的访问。通俗来讲,就是将数据库操作封装起来,对外提供相应的接口。
在面向对像设计过程中,有一些“套路 ”用于解决特定问题,称为模式。DAO模式提示了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离,对上层提供面向对象的数据访问接口。
DAO模式的优势就在于它实现了两次隔离
- 隔离了数据访问代码和业务逻辑代码,业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确 ,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,减低了耦合性 ,提高了可复用性。
- 隔离了不同数据库实现,采用面向接口编程,如果底层数据变化,如由MySQL变成Oracle,只要增加DAO接口的新实现类即可,原有MySQL实现不用修改。这符合“开——闭”原则,降低了代码的耦合性,提高了代码的扩展性和系统的可移植性。
一个典型的DAO模式组要由以下几部分组成
- DAO接口:把对数据库的所有操作定义为抽象方法,可以提供多种实现。
- DAO实现类:针对不同数据库给出DAO接口定义方法的具体实现。
- 实体类:用于存放和传输对象数据
- 数据库连接和关闭工具类:避免了数据库连接和关闭代码的重要重复,方便修改。