Spring中的DAO层是什么?
mapper层的作用是对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的现在用mybatis逆向工程生成的。
mapper层,其实就是dao层,主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。
其设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰。
DAO设计模式的优点
(1)DAO模式抽象出数据访问方式,业务逻辑层访问数据源时完全感觉不到数据源的存在。软件工厂中有一条很重要的法则:一个对象对其他对象的了解越少越好,了解越少就意味着依赖越少,可复用性越高。
(2)DAO将数据访问集中在独立的一层,因为所有的数据访问都由DAO代理,这层独立的DAO将数据访问的实现和系统的其余部分剥离,将数据访问集中,使得系统更具可维护性。
(3)DAO降低了业务逻辑层的复杂度。DAO管理复杂的数据访问,从而简化了业务逻辑层。所有与数据访问的实现有关的代码都不写在业务逻辑层里,业务逻辑层可集中处理业务逻辑,提高了代码的可读性和生产率。
(4)DAO有助于提升系统的可移植性。DAO模式通过将数据访问划分为抽象层和实现层,分离数据使用和数据访问的实现细节。这意味着业务层与数据访问的底层细节无关,也就是说,可以在保持上层机构不变的情况下,通过切换底层实现来修改数据访问的具体机制,提高了系统的可复用性。