前言
部门管理系统是企业管理中常见的核心模块,用于高效管理组织架构。本文通过实际代码示例,详细讲解部门管理系统的三大核心功能:查询、删除和新增部门。内容涵盖Spring Boot三层架构(Controller、Service、Mapper)的实现、参数接收方式对比(如@RequestParam与@RequestBody)、MyBatis注解开发等关键技术点,帮助读者快速掌握企业级开发中的典型场景和最佳实践。
部门管理系统
一、查询部门
1. 功能实现流程图
2. Controller 层
@RestController
public class DeptController {
@Autowired
private DeptService deptService;
@GetMapping("/depts")
public Result findAll(){
List<Dept> deptList = deptService.findAll();
return Result.success(deptList);
}
}
3. Service 层
@Service
public class DeptServiceImpl implements DeptService {
@Autowired
private DeptMapper deptMapper;
@Override
public List<Dept> findAll() {
return deptMapper.findAll();
}
}
4. Mapper 层
@Mapper
public interface DeptMapper {
// 方式1:手动结果映射
@Results({
@Result(column = "create_time", property = "createTime"),
@Result(column = "update_time", property = "updateTime")
})
@Select("select id, name, create_time, update_time from dept order by update_time desc")
List<Dept> findAll();
// 方式2:SQL别名映射
@Select("select id, name, create_time createTime, update_time updateTime from dept order by update_time desc")
List<Dept> findAll();
}
二、删除部门
1.业务流程图
整体流程与三层架构职责
- Controller 层:负责接收请求参数(三种方式可选 ),调用 Service 层方法,最后响应结果(返回
Result.success()
)。 - Service 层:后续需补充实现,主要封装业务逻辑(如校验部门是否存在关联数据,决定能否删除 ),再调用 Mapper 层操作数据库。
- Mapper 层:定义接口方法,通过 MyBatis 等框架执行
delete from dept where id = ?
SQL ,实现数据库中部门数据删除。
2.Controller层
在实现 “根据 ID 删除部门” 功能时,Controller 层接收请求参数有以下三种方式,结合代码和要点总结如下:
功能背景
需求为通过部门主键 ID 执行删除操作,接口请求路径/depts
、请求方式 DELETE
,需接收 id
参数(部门 ID ),借助三层架构(Controller、Service、Mapper )完成数据库删除逻辑(Mapper 层执行 delete from dept where id = ?
SQL )。
三种参数接收方式及代码示例
方式一:通过 HttpServletRequest
对象获取
@DeleteMapping("/depts")
public Result deleteDept