DAO层:
叫做数据访问层,全称为date access object ,是一种比较底层,比较基础的操作,具体到某个表的增删改查,也就是说某个dao一定是和数据库的某张表一一对应,其中封装了增删改查的操作。建议Dao只做原子操作,增删改查。
Service层:
叫服务层,被称为服务,粗略的理解就是对一个dao 或者多个dao进行再次封装,封装成一个服务,所以这里就不会是一个原子操作了,需要事务控制。
需要根据系统的实际业务需求进行逻辑代码的编写,有些业务逻辑需要通过与数据库交互的,则业务逻辑层需要调用数据访问层(dao)的相关方法实现与数据库的交互,对于一些不需要与数据库进行交互的,则直接编写业务代码,将执行结果反馈给(Controller)即可;
Controller层:
负责请求转发,接收页面过来的参数,传给service处理,接到返回值,再传给页面。只负责与数据库的数据交互,将数据进行存储读取操作
总结:
个人理解DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务