SpringBoot各层关系

1,352 阅读2分钟
目前接触到的主要分为4层:entity(实体层),dao(持久层),service(业务逻辑层),controller(控制层)

entity层

entity层又叫做实体层,对应的是数据库相应的表结构,一张表至少对应一个entity类。当然可以根据个人需要增加一些entity类。个人理解,entity层是用来存放需要和数据库交互的数据,有一个简化代码的作用,同时能让相关数据具有一个整体性。

dao层

dao层=mapper层。dao层又称为数据持久层,所谓持久化是指将产生的数据长久的记录在物理设备上,即数据库里。dao层主要和数据库打交道,Mybatis使得我们可以通过代理的方式自动生成相应的代码,只需注意相应的名称必须对应,这样我们就可以将sql语句写在相应的xml文件里面。

service层

service层又叫做业务逻辑层,是具体处理相应的业务逻辑问题,他会通过dao层查询到的数据进行处理,然后又通过dao层的接口写回到数据库里。实际上所谓的软件开发的过程就是对数据库进行各种操作罢了。

controller层

controller层又叫做控制层,controller就像酒店的前台一样,对应不同的请求分发给不同的人处理。controller处理前端各种请求(url),然后调用相应的service处理,并且将结果返回给前端。

总结一下,各层调用的关系:controller通过前端的路由调用service层,service层调用相应的dao层,而entity层是他们service层和dao层调用传递的参数。

当然还有很多层,基于笔者能力有限,会在了解掌握后补充。