Day08 Tlisa智能学习辅助系统-部门、员工管理

1.开发规范-Restful 

GET查询 DELETE删除 POST新增 PUT修改

2.Apifox 测试时发起POST、PUT、DELETE请求时使用

3.工程搭建 Result

pojo:存放实体类

Dept:部门类

统一响应结果实体类Result

4.查询部门-接口开发

4.1 Controller层代码 DeptController类

@RestController=@Controller + @RespondeBody 交给IOC容器+Json格式转换

@RequsetMapping(" ") :请求路径 

@Autowired:DI依赖注入

4.2Service层代码

先在DeptService接口中写抽象该方法,在DeptServiceImpl中重写抽象方法

@Service:交给IOC容器

@Autowired:DI依赖注入

4.3Mapper层代码

@Mapper:交给IOC容器

4.4整体代码

5.指定请求方式 衍生注解 @GetMapping

@GetMapping("/depts")  @PostMapping @DeleteMapping @PutMapping

底层封装了 @RequsetMapping(method =RsquestMethod.GET )

@RequsetMapping(vaule="/depts" method =RsquestMethod.GET )

6.数据封装

6.1开启驼峰命名开关

7.前后端联调测试 Nginx反向代理

原理:

8.删除部门-接口开发

8.1接收参数方式 @RequestParam(" ")

8.1.1原始方法

8.1.2注解 @RequestParam(" ")

8.1.3名相同 省略注解

8.1.4总结

8.2实现

9.新增部门-接口开发 @RequestBody 将json格式封装为对象

代码实现:

10.修改部门-查询回显 @PathVariable:绑定路径参数

路径参数的参数名和方法的形参名称相同,@PathVariable的value值可省略

实现:

11.修改部门-修改数据

12.抽取公共路径@RequestMapping("/depts") @GetMapping("/{id}")

13.日志技术-Logback入门程序

14.日志技术-Logback配置文件详解

控制台输出格式

文件格式输出

15.日志级别

16.日志注解 @Slf4j

更改,{}:占位符,需要传递参数

17.员工管理-新增员工

17.1准备工作

分页结果封装类 PageResult<T>

17.2分页查询-原理分析

17.3分页查询-原始方式代码实现

@RequsetParam(defaultValue = "1"):为参数设置默认值

代码实现:

17.4分页查询-PageHelper分页插件 PageHelper.startPage

PageHelper.startPage(page,pageSize);

结果会封装在Page中

17.5PageHelper实现机制

语句改造

注意事项:

17.6条件分页查询-基本实现

#{ }在' '中不能表示占位符 解决方法:concat('%',#{name},'%')

17.7条件分页查询-程序优化

17.7.1参数优化

EmpService实现类

Mapper接口

17.7.2动态SQL  标签<if test="name!=null">查询条件</if>   <where>所有的查询条件<where>:自动去除多余的and

17.8新增员工-保存员工基本信息

17.9新增员工-批量保存员工工作经历 <foreach> </foreach> @Options(useGeneratedKeys = ture,keyProperty = "id")主键返回

主键返回的作用:插入工作经历时主键会默认分配,利用@Options注解能获取当前主键,确保工作经历与用户的主键相同

代码实现:

EmpServiceImpl

EmpMapper.java

EmpExprMapper.java

XML

17.10事务管理-介绍与操作

17.11 事务管理-Spring事务管理-介绍 @Transactional:事务管理

设置事物的日志级别

搜索控制台中关键信息插件

17.12 事务管理-Spring事务管理-进阶  rollbackFor

17.12.1 rollbackFor : 何种异常时回滚回滚,Exception.class:所有异常

17.12.2 propagation =  REQUIRES_NEW :开启新事务 

17.13文件上传

17.13.1文件上传-介绍  MultipartFile file,enctType="multipart/form-data

17.13.2文件上传-本地存储

文件名转换成Uuid随机生成的字符串+后缀名

spring默认文件上传大小1M,改变默认文件上传大小:

17.13.3文件上传-阿里云OSS-准备工作

17.13.4文件上传-阿里云OSS-入门程序

17.13.5文件上传-阿里云OSS-案例集成

点击文件上传后,请求/upload 文件上传的Controller,返回图片的url地址

引入工具类,并且交给IOC容器管理:

利用工具类上传图像到阿里云,并接收返回来的图像url地址

17.13.6文件上传-阿里云-程序优化 @Value("${key}") @ConfigurationProperties:批量注入

将配置项的值封装到实体类中

18.员工管理-删除员工

18.1 请求参数接收 传递的查询参数封装到像List集合复杂类型中,要加@RequestParam注解,不可省略

18.2逻辑实现

19.员工管理-修改员工 resultMap:手动封装

19.1查询回显 id:id属性 result:普通属性 collection:集合属性 column:字段名 property:属性名

转成

19.2修改员工-修改数据 @RequestBody:json报文封装成对象

19.3修改员工-程序优化-动态更新 set标签:自动去除多余的,

20.全局异常处理器 @RestControllerAdvice @ExceptionHandler

21.员工信息统计

21.1职位统计-分析 柱状图

21.2职位统计-实现

list.stream().map():把map类型转成得到的数据的类型

21.3性别统计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值