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

案例-04.部门管理-删除

一.功能演示

二.需求说明

三.接口文档

 

四.思路

既然是通过id删除对应的部门,那么必然要获取到前端请求的要删除部门的id。id作为请求路径传递过来,那么要从请求路径中获取,id是一个路径参数。因此使用注解@PathVariable获取路径参数。

请求方式为delete,因此使用注解@DeleteMapping。

五.controller层

package com.gjw.controller;

/**
 * 部门管理Controller
 */

import com.gjw.anno.Log;
import com.gjw.pojo.Dept;
import com.gjw.pojo.Result;
import com.gjw.service.DeptService;
import com.gjw.service.impl.DeptServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Slf4j // 记录日志使用
@RestController
@RequestMapping("/depts")
public class DeptController {
    @Autowired
    private DeptService deptService;

//    @RequestMapping(value = "/depts",method = RequestMethod.GET)   指定请求方式为GET
    @GetMapping()   // 指定请求方式为GET
    public Result list(){
        log.info("查询全部部门数据");

        // 调用service层查询全部部门数据
        List<Dept> deptList = deptService.list();
        return Result.success(deptList);
    }

    @Log
    @DeleteMapping("{id}")  // 指定请求方式为DELETE
    public Result delete(@PathVariable Integer id) throws Exception {
        log.info("根据id删除部门:{}",id);

        // 调用service删除部门
        deptService.deleteById(id);
        return Result.success();
    }
}

六.service层

service接口

package com.gjw.service;

import com.gjw.pojo.Dept;

import java.util.List;

public interface DeptService {
    List<Dept> list();

    void deleteById(Integer id) throws Exception;
}
package com.gjw.service.impl;

import com.gjw.mapper.DeptLogMapper;
import com.gjw.mapper.DeptMapper;
import com.gjw.mapper.EmpMapper;
import com.gjw.pojo.Dept;
import com.gjw.pojo.DeptLog;
import com.gjw.service.DeptLogService;
import com.gjw.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDateTime;
import java.util.List;

@Service
public class DeptServiceImpl implements DeptService {

    @Autowired
    private DeptMapper deptMapper;

    @Override
    public List<Dept> list() {
        return deptMapper.list();
    }


    @Override
    public void deleteById(Integer id) {
        deleteMapper.deleteById(id);
    }


}

七.Mapper层

package com.gjw.mapper;

import com.gjw.anno.Log;
import com.gjw.pojo.Dept;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 部门管理
 */
@Mapper
public interface DeptMapper {
    /**
     * 查询全部部门数据
     * @return
     */

    @Select("select * from dept")
    List<Dept> list();


    /**
     * 根据id删除部门数据
     * @param id
     */
    @Delete("delete from dept where id = #{id}")
    void deleteById(Integer id);

}

八.前后端联调

进行前后端联调即可

相关文章:

  • vueDevtools和文档整合(前端常用工具/插件)
  • Code::Blocks 创建 C 项目 二
  • 有关Java中的异常和异常处理
  • 图神经网络怎么和LLM结合
  • Docker 入门与实战:从安装到容器管理的完整指南
  • nlp|微调大语言模型初探索(1),LLaMA-Factory
  • 用deepseek学大模型05-线性回归
  • UnityRecorder导出带透明通道的视频和图片
  • Java 版本 24 性能更新:更快、更智能
  • 高效构建与配置高可用负载均衡集群:从理论到实践的全面实施
  • WordPress 角标插件:20 种渐变色彩搭配,打造专属菜单标识
  • LeetCode每日精进:142.环形链表II
  • 应用分层、三层架构和MVC架构
  • 容器运行常见数据库
  • 使用 IntersectionObserver 实现懒加载和无限滚动
  • 静态页面在安卓端可以正常显示,但是在ios打开这个页面就需要刷新才能显示全图片
  • Dify+Ollama+DeepSeek部署本地大模型+知识库搭建
  • CSS flex布局 列表单个元素点击 本行下插入详情独占一行
  • BMS项目-面试及答疑整理
  • 【HarmonyOS之旅】基于ArkTS开发(二) -> UI开发三
  • 讲武谈兵|朝鲜“崔贤”号驱逐舰下水,朝版“宙斯盾”战力如何?
  • 百年传承,再启新程,参天中国迎来2.0时代
  • 广东省副省长刘红兵跨省调任湖南省委常委、宣传部长
  • 解放日报:这是一场需要定力和实力的“科技长征”
  • 李铁案二审今日宣判,押送警车已进入法院
  • 中国人保不再设监事会,国寿集团未再设置监事长职务