数据访问对象(Data Access Object,DAO),是一种数据库访问设计模式,这种模式通过将查询语句放在一个对象中,从而分离filter(过滤)、logic(逻辑)与data(数据),从而隐藏实现常见访问操作的细节,让应用程序可以更加简洁,可维护性更强。
DAO模式应用之一是业务逻辑中的持久性数据处理。这样做很好地分离了table,让我们可以编写更具可维护性的程序,对面向对象的编程也有好处。这种模式完全可以用在很多的情况下,它被用于分离复杂的数据库操作。例如,如果我们想把某些记录从数据库中取出和保存,我们可以利用 DAO模式。使用DAO的必要性主要体现在复杂的业务逻辑,复杂的 SQL 查询,性能优化(如使用缓存)等场景中。对于网站程序开发而言,如果想把原有SQL 语句扔给框架执行,我们应该怎么做?这个时候,把 SQL 语句放到 DAO 的代码中可以让我们避免与数据库过多接触,在应用层使用更加抽象化的业务逻辑,使得这个程序可以更方便的更换数据库,对于程序的测试也可以更加方便。
DAO 模式是一种在业务逻辑中访问数据的解决方案,它分离了应用逻辑与数据持久层,使得层次关系更加清晰,更有利于业务逻辑的修改和维护;而且它也可以让数据访问的速度更快,同时它可以让应用代码更加可维护性,方便随时更换数据库。