Controller层(控制层):
负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端
controller层主要调用Service层里面的接口控制具体的业务流程,不会在其中编写大量逻辑代码,同时也会接受并处理一些HTTP参数,例如session
Controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。请注意:部分返回数据队格式和数量都有所要求,要注意前端需求并构建响应的Vo对象返回为佳
/*基本注解*/
@Controller
//标注于类体上,声明该类是Controller(相当于告诉你我是控制器)
@RequestMapping
//标注于方法体上,用于指定访问路径
@ResponseBody
//标注于方法体上,用于返回数据到<body>标签
Service层(业务层):
接收Controller层的请求,然后调用Dao层,获取到数据,也叫服务层,主要负责业务模块的逻辑;
先设计接口,再创建要实现的类,然后在配置文件中进行配置实现关联。service的impl是把mapper和service进行整合的文件
功能:
- Service层通常会调用DAO层的方法来处理数据。
- 实现事务控制:在Service层中实现事务控制,确保操作数据库的过程中数据的一致性和完整性。
- 封装业务对象:Service层会封装业务逻辑需要的数据,并将其传递给DAO层进行存储或操作,这样做可以提高代码的可读性和可维护性,以及规范数据的操作。
/* 编写业务逻辑时,常常会声明一个由@Autowired 注释的XXXmapper对象,该对象为Dao层接口的实现类,以供其调用
基本注解*/
@Service
/*标注于Service接口的实现类上,将当前类自动注入到Spring容器中*/
DAO 层(数据操作层):
连接数据库,对数据库进行操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作
存放mapper接口**(只是接口)**,访问数据库,向数据库发送sql语句,完成数据的增删改查功能,通常将其实现为接口,内部声明的方法将会与mapper层中的对应数据库函数关联
其有两种编写方式
(1)继承 BaseMapper,BaseMapper 接口是 MyBatis Plus 提供的通用 Mapper 接口,用于执行常用的 CRUD 操作,包括插入、更新、删除和查询等操作,继承该接口后,能够自动获得数据库常用操作的方法,而不用在mapper内编写
(2)Mybaitisplus代码生成器自动生成DAO层,以及pojo和mapper层的基本文件
@Mapper /*标注于接口的上方,用于框架寻找接口和对应接口的xml文件*/
注意:每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法
POJO层
POJO在springboot项目中的定位,类似于mvc项目里的model模型层。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,其中包含多个属性,同时具备get/set方法,推荐直接使用@lombok注解。
POJO中没有方法,而且与数据库表一一对应,属性也与数据库表的字段保持一致
mapper层
存放数据库函数,与DAO层中的方法映射,可通过终端命令生成,也可自行编写(工作量较大),在调用DAO方法则会实际执行mapper层对应的数据库方法,是对数据库curd的接口桥梁,同时也需要增加mapper扫描以完成识别
其他包
ENUM 枚举包
DVO/VO 返回对象包
EXCEPTION 报错包
FORM 表单包
拦截器
。。。待完善