model,controller,service,dao层的作用

首先来说一下业务逻辑:

 Controller-->service接口-->serviceImpl-->dao接口-->daoImpl-->mapper-->db

model 模型,通常认为是视图(view)的内核,模型就是指视图的数据。
controller控制器,主要负责具体业务模块流程的控制,会调用Service层的接口来控制业务逻辑。Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。
service业务逻辑层,接着controller层中,可以想到,service层是业务逻辑的具体实现。它向上层的controller层提供接口,并且使用dao层提供的接口。 服务是一个相对独立的功能模块,主要负责业务逻辑应用设计。首先也要设计接口,然后再设计其实现该接口的类。这样我们就可以在应用中调用service接口进行业务处理。service层业务实现,具体调用到已经定义的DAO的接口,封装service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性 。
dao 数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。 通常我们在DAO层里面写接口,里面有与数据打交道的方法。SQL语句通常写在mapper文件里面的。
  个人理解:DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。

你可能感兴趣的:(model,controller,service,dao层的作用)