当前位置: 首页 > news >正文

实习项目|苍穹外卖|day2

在这里插入图片描述

员工管理

新增员工

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述

2.根据接口设计DTO(尽量不用原始的employee类)

在这里插入图片描述

3.编码controller-》service-》mapper

controller:json的话参数前加@requestbody

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

在这里插入图片描述
对于第一个问题:设置全局捕获这个SQL异常(这个exception需要复习,怎么感觉没有这么用过。。)

对于第二个问题:以前处理过(token+ ThreadLocal +redis)。这里的解决方法也是反向解析JWT token + ThreadLocal。
JWT(在好多面试题里遇到过)

在这里插入图片描述
在拦截器里验证解析JWT,通过ThreadLocal实现拦截器中得到的登录用户信息存储,使得在service相关方法中可以直接获取。一次请求一个线程,共享一份存储空间。
在这里插入图片描述
在这里插入图片描述
该项目已经封装了这部分方法在BaseContext类中。整体来说就是很简单,在拦截器中存,在service里面取。

6.commit 和 push

员工分页查询

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

在这里插入图片描述
在这里插入图片描述

3.编码controller-》service-》mapper

主要借助mybatis提供的pagehelper插件。(需要再pom里面导入坐标。)

            <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pagehelper}</version></dependency>

/**
* 分页查询,因为需要动态查询(拼接操作),因此不适应注解。写到映射文件中(这里有几条规则需要遵守)
* @param employeePageQueryDTO
* @return
*/
Page pageQuery(EmployeePageQueryDTO employeePageQueryDTO);
主要内容,复习mybatis的两种使用方法。

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

修改日期的可视化。(这个不是前端的任务吗?好奇怪。)
在这里插入图片描述
对于第二种方法,我很不熟悉,甚至没有configuration这个类的印象。

6.commit 和 push

启用禁用员工账号

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

应该不用DTO

3.编码controller-》service-》mapper

最主要还是controller获取参数一个是{status}一个是请求地址带的。
还有就是mybatis利用xml配置语句。

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

6.commit 和 push

编辑员工(涉及回显)

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

employeeDTO

3.编码controller-》service-》mapper

难度不大

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

6.commit 和 push

分类管理

有现成代码

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • jenkins安装k8s插件发布服务
  • rsync搭建全网备份
  • 实训第三十一天(playbook)
  • vue绑定事件
  • 全局页面数据渲染--SAAS本地化及未来之窗行业应用跨平台架构
  • ssm基于微信小程序的高校课堂教学管理系统论文源码调试讲解
  • 【WiFi主要技术学习2】
  • C++和OpenGL实现3D游戏编程【连载5】——纹理坐标、纹理贴图
  • leecode 31.下一个排列(Golang)
  • 数学基础 -- 线性代数之矩阵因式分解
  • 2024 年的 Web3 游戏:演变、趋势和市场动态
  • 卷积神经网络(CNN):算法、原理与应用
  • Java 如何实现一个简单 RabbitMQ 示例
  • 前端速通面经八股系列(六)—— Vue(下)
  • python的版本如何选择?
  • [译] 怎样写一个基础的编译器
  • “大数据应用场景”之隔壁老王(连载四)
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript的使用你知道几种?(上)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • leetcode98. Validate Binary Search Tree
  • passportjs 源码分析
  • Vim Clutch | 面向脚踏板编程……
  • Yeoman_Bower_Grunt
  • 阿里研究院入选中国企业智库系统影响力榜
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从零搭建Koa2 Server
  • 对象引论
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 前端设计模式
  • 软件开发学习的5大技巧,你知道吗?
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 阿里云服务器购买完整流程
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # 计算机视觉入门
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #微信小程序:微信小程序常见的配置传值
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (分类)KNN算法- 参数调优
  • (六)Hibernate的二级缓存
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net MVC中使用angularJs刷新页面数据列表
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .NET中GET与SET的用法
  • /boot 内存空间不够
  • /etc/shadow字段详解
  • @PostConstruct 注解的方法用于资源的初始化