一、回顾SpringMVC
1.核心控制器 dispatcherServlet
2.常见的注解就是其执行流程(从 返回、接收、响应角度去记忆)
2.1 @Controller (返回视图的名称)
2.2 @Restcontroller (返回的JSON)
2.3 @RequestMappering (请求路径的映射)
2.4 @RequestParam (接收类似分页查询的 参数 页码...)
2.5 @Pathvariable (接收请求路径中的参数)
2.6 @RequestHeader (接收请求头)
2.7 @ReponseBody (响应页面视图)
--------------------------------------------------------------------------------
SpringMVC 中对JSON数据的处理 是 jackson
Json数据处理,Jackson将后端返回的java对象,转成JSON格式
后端接收接收的 JSON格式 Jackson会将其转成javabean处理
---------------------------------------------------------------------------------
pojo: 持久化对象 与数据库表结构完成 映射
dto : 数据传输对象,前端提交的参数、微服务远程调用时参数封装
vo : 响应数据的封装,响应数据给前端、微服务远程调用时的返回结果
----------------------------------------------------------------------------------
3.拦截器 Interceptor: 在进入controll方法的 前后 执行
4.全局异常处理:
@RestControllerAdvice
@ExceptionHandler 捕获指定的异常
二、什么是SpringCloud?
SpringCloud是做微服务架构的一站式框架的集合
三、Spring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案
四、MyBatisPlus——实现分页
1.配置分页拦截器
2.@TabeleName、@TableId、@TableFiled 完成数据库字段的映射
1.controller(不用)、mapper、service 三层架构都要去指定继承 MaybatisPlu的对应接口
2.1 Controller层
package com.itheima.admin.controller; import com.itheima.admin.dto.ChannelPageRequestDto; import com.itheima.admin.pojo.AdChannel; import com.itheima.admin.service.AdChannelServer; import com.itheima.common.vo.PageResultVo; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * @author ChenY@itheima.com * @date 2022/11/3 11:40 */ @RestController @RequestMapping("/channel") public class AdChannelController { @Resource private AdChannelServer adChannelServer; @PostMapping("/list") // PageResultVo 自定义的分页 返回结果 // PageResultVo<T> extends ResultVo<T> implements Serializable // 故 返回的时候需要去指明返回的1 对象类型 public PageResultVo<AdChannel> pageList(@RequestBody ChannelPageRequestDto dto) { // 调用业务层 PageResultVo vo = adChannelServer.findPage(dto); return vo; } }
2.2 Mapper层
public interface AdChannelM