黑马JavaWeb+AI笔记 Day10 Web后端实战(员工管理-删除与修改员工)
模块学习重点与实用技巧删除员工支持批量删除 + 工作经历清理,推荐使用集合参数,事务控制修改员工分步骤:回显 + 提交,注意工作经历删除再插入,动态 SQL 优化异常处理推荐使用全局异常处理器,统一日志输出与响应格式,提升开发效率信息统计熟练掌握 SQL 分组统计 + CASE/IF 等函数,结合图表进行数据可视化。
·
一、删除员工
请求路径:/emps
请求方式:delete
请求参数:ids
二、修改员工
1、查询回显
请求路径:/emps/id
请求方式:get
请求参数:路径参数
✅ MyBatis 查询结果封装方式
方式 | 使用场景 |
---|---|
resultType | 字段名与属性名一致 ✅ 推荐简单查询 |
resultMap | 字段名不一致或嵌套复杂对象时使用 |
2、修改信息
请求路径:/emps
请求方式:put
请求参数:application/json
✅ MyBatis 优化 SQL
使用 <set>
标签动态拼接字段,避免 SQL 尾部逗号错误:
<update id="updateEmp">
UPDATE emp
<set>
<if test="username != null"> username = #{username}, </if>
...
</set>
WHERE id = #{id}
</update>
三、统一异常处理机制
✅ 三种处理方式对比
方式 | 是否推荐 | 说明 |
---|---|---|
try-catch 局部处理 | ❌ 不推荐 | 代码臃肿、重复多 |
controller 层 try | ❌ 不推荐 | 会打破三层职责划分 |
全局异常处理器 | ✅ 推荐 | 解耦、统一处理、便于维护 |
✅ 全局异常处理器配置
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public Result handleException(Exception e) {
log.error("全局异常捕获:", e);
return Result.error("系统异常,请稍后再试");
}
}
本质上是使用
@ControllerAdvice + @ResponseBody + @ExceptionHandler
。
四、员工信息统计(职位 & 性别)
✅员工职位信息统计
请求路径:/report/empJobData
请求方式:get
请求参数:无
✅员工性别信息统计
请求路径:/report/empGenderData
请求方式:get
请求参数:无
✅ MySQL 常用函数说明
函数 | 作用说明 |
---|---|
CASE | 多条件匹配,类似 switch/case |
IF(expr,a,b) | 条件表达式,expr 成立则返回 a,否则 b |
IFNULL(a,b) | 若 a 不为 null,返回 a,否则返回 b |
✅ 总结归纳表
模块 | 学习重点与实用技巧 |
---|---|
删除员工 | 支持批量删除 + 工作经历清理,推荐使用集合参数,事务控制 |
修改员工 | 分步骤:回显 + 提交,注意工作经历删除再插入,动态 SQL 优化 |
异常处理 | 推荐使用全局异常处理器,统一日志输出与响应格式,提升开发效率 |
信息统计 | 熟练掌握 SQL 分组统计 + CASE/IF 等函数,结合图表进行数据可视化 |
更多推荐
所有评论(0)