I、DAO层:
数据访问层,全称为data access object, 属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。(@Repository持久层)
II、Service层:
服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。(@Service业务逻辑层)
III、Controller层:
Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。(@Controller控制层)
IV、mapper:
通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。极其方便的使用MyBatis单表的增删改查。支持单表操作,不支持通用的多表联合查询。
总结:
i.DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。
ii.标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,
iii.解耦:你更改某一层代码,不会影响其他层代码。
iv.表示层调用控制层,控制层调用业务层,业务层调用数据访问层。
V、VO、DTO、DO、PO的区别:
VO(View Object):视图对象,用于展示层,起封装某个指定页面或组件的所有数据。
DTO(Data Transfer Object):展示层与服务层之间的数据传输对象。
DO(Domain Object):领域实体,现实世界抽象出来的有形/无形的业务实体。
PO(Persistent Object):持久化对象,