DAO,全称Data Access Object,即数据访问对象,在服务器端设计模式中也就是DAO设计模式,它是一种把数据访问的代码和领域对象分别封装的技术。
是一种用于对领域模型类提供数据访问的模式,它的核心思想是为每一个可能的操作封装一个对象,在设计模式上属于行为型模式,它将一系列关于数据库访问的任务封装到一个对象中,而这个对象可以重复使用,从而希望能够减少大量重复性的相同代码出现,以及对对象专业化管理,以减少系统的复杂度。
一个DAO类一般是包含增、删、改、查的方法,其中的增、删、改是可以修改实体模型的,而查则是查找某些实体模型,或者是查询某类数据库中存储的某些属性信息。它是一种用于领域模型类提供数据访问的模式,它可以从数据库中提取对象,也可以向数据库添加、修改、删除数据。
DAO设计模式可以实现两个功能:
第一、减少系统复杂度,将数据库访问的任务封装到一个对象中,而这个对象可以重复使用,从而希望能够减少大量重复性的相同代码出现。
第二、将业务实体和操作数据库的对象划分开来,只处理业务实体对象,而不需要考虑数据库的操作,如果要更改数据库,则只需要修改DAO模型即可,而不影响业务逻辑实体,从而提高系统的灵活性。
DAO设计模式还可以提高系统的稳定性,因为BEANS层只需要知道DAO对象而不用关心数据源,只要DAO对象和数据源正确对接,可以在不影响BEANS层代码的情况下,把原来用户MySQL数据库改成oracle数据库,从而更好的保障系统的可靠性。
另外,DAO设计模式也可以提供代码的可读性,DAO中的方法名一般来说应该比较容易理解,实现功能也比较直观,而且利用设计模式处理数据访问对象,对于新人和维护者,也会比较容易理解和掌握,从而极大的提高研发效率。