案例-部门管理-新增

黑马程序员JavaWeb开发教程

文章目录

  • 一、页面原型
  • 二、接口文档
  • 三开发
    • 1、controller
    • 2、service
      • (1)service接口层
      • (2)Service实现层
    • 3、 mapper
    • 4、postman
  • 优化

一、页面原型

在这里插入图片描述

二、接口文档

在这里插入图片描述

三开发

1、controller

  1. 请求方式是post,所以使用 @PostMapping 注解
  2. 传递的参数是JSON格式的所以使用 @RequestBody 注解
 /**
     * 根据部门名称新增部门
     * @param dept 部门
     * @return
     */
    @PostMapping("/depts")
    public Result insertDeptByName(@RequestBody Dept dept){
        //打印日志信息
        log.info("根据部门名称新增部门");
        //调用service
        deptService.insertDeptByName(dept);
        return Result.success();
    }

2、service

(1)service接口层

  /**
     * 根据部门名称新增部门
     * @param dept
     */
    void insertDeptByName(Dept dept);

(2)Service实现层

  1. 补充基础数据(因为前端页面只需要传递一个参数 name(部门名称))
  2. 调用Mapper接口新增数据
 /**
     * 根据部门名称新增部门
     * @param dept
     */
    @Override
    public void insertDeptByName(Dept dept) {
        //补充基础数据
        dept.setCreateTime(LocalDateTime.now());
        dept.setUpdateTime(LocalDateTime.now());
        //调用Mapper接口新增数据
        deptMapper.insertDeptByName(dept);
    }

3、 mapper

  1. 因为SQL语句比较简单,直接使用注解即可
/**
     * 根据部门名称新增部门
     * @param dept
     */
    @Insert("insert into dept(name,create_time,update_time) values(#{name},#{createTime},#{updateTime})")
    void insertDeptByName(Dept dept);

4、postman

在这里插入图片描述

优化

  • 因为查询,删除,新增的请求路径中都有"/depts" 所以我们可以使用 @RequestMapping 注解,将这个路径抽取出来,代码如下
  • 注意:一个完整的请求路径,应该是类上的@RequestMapping的value属性+方法上的@RequestMapping的vaule 属性(也就是访问的时候,路径还是和原来一样)
package com.itheima.controller;

import com.itheima.pojo.Dept;
import com.itheima.pojo.Result;
import com.itheima.service.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.websocket.server.PathParam;
import java.util.List;

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

    /**
     * 查询全部部门数据
     *
     * @return
     */
    @GetMapping
    public Result list() {
        //打印日志信息
        log.info("查询全部部门数据");
        //调用service处理数据
        List<Dept> deptList = deptService.list();
        return Result.success(deptList);
    }

    /**
     * 根据id删除部门
     * @param id 部门id
     * @return
     */
    @DeleteMapping("/{id}")
    public Result deleteDeptByID(@PathVariable Integer id) {
        log.info("根据id删除部门");
        //调用service
        deptService.deleteDeptById(id);
        return Result.success();
    }

    /**
     * 根据部门名称新增部门
     * @param dept 部门
     * @return
     */
    @PostMapping
    public Result insertDeptByName(@RequestBody Dept dept){
        //打印日志信息
        log.info("根据部门名称新增部门");
        //调用service
        deptService.insertDeptByName(dept);
        return Result.success();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/576151.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年好用又便宜的云手机!哪款性价比高?

随着科技的飞速发展&#xff0c;云计算技术也在不断演进&#xff0c;而云手机作为其创新之一&#xff0c;已经开始在我们的生活中崭露头角。它通过将手机的硬件和软件功能移到云端&#xff0c;让用户能够借助强大的云计算资源完成各种任务。2024年&#xff0c;哪款云手机性价比…

运行django

确保app被注册 urls.py中编写url 视图对应关系 命令行启动 python manage.py runserver

“湘”约你我,“V”你而来!苏州金龙新V系客车闪耀星城

“湘”约你我、为你而来&#xff01;4月24日&#xff0c;苏州金龙新V系智慧客车推介会走进星城长沙。来自湖南省内的160余位旅游客运行业协会及企业代表齐聚一堂&#xff0c;共同见证客车行业新质生产力标杆产品的无限魅力。 当前&#xff0c;湖南的旅游产业和道路运输业正处于…

每年首版次测试报告的要求有哪些?

每年首版次测试报告的要求可能因不同的地区、行业或产品而有所差异&#xff0c;但一般而言&#xff0c;它们通常遵循一些基本的标准和原则。以下是一些常见的首版次测试报告要求&#xff1a; 完整性&#xff1a;测试报告应包含所有必要的测试内容&#xff0c;包括但不限于测试…

意法半导体STM32F407VET6TR单片机优缺点、参数、应用和引脚封装

ST(意法半导体)的型号STM32F407VET6TR属于32位MCU微控制器&#xff0c;基于高性能的ArmCortex-M4 32位RISC核心&#xff0c;工作频率高达168MHz。单精度浮点单元(FPU)用于Cortex-M4核心&#xff0c;支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个…

1-内核开发环境ubuntu+virtualbox+mobaXterm搭建

内核开发环境 ubuntuvirtualboxmobaXterm搭建 目录 内核开发环境 ubuntuvirtualboxmobaXterm搭建 1.virtualbox 安装 2.ubuntu 安装 3.网络设置 4.虚拟机安装ssh 服务&#xff0c;更新ubuntu 源安装基本软件 5.mobaXterm 个人免费版本安装 6.总结 本课程教程从0-1开始教…

NineData即将亮相2024中国移动算力网络大会,创始人CEO叶正盛带来《生态软件加速数据库国产替代》主题演讲

2024年4月28-29日&#xff0c;NineData即将亮相2024中国移动算力网络大会&#xff0c;创始人&CEO叶正盛将在「云原生数据库专场」带来《生态软件加速数据库国产替代》主题演讲。届时将和众多院士专家、行业大咖、业界伙伴一起探讨&#xff0c;并帮助企业提升数据库研发协同…

进口透明可视耐腐蚀PFA进样管特氟龙圆底试管适配MC-ICP-MS

PFA进样管可适配Neptune plus多接收器等离子质谱仪&#xff08;MC-ICP-MS&#xff09;&#xff0c;广泛应用于地球化学、核保障、环境科学、金属组学领域&#xff0c;在生物、物理、化学、材料等多个学科的交叉方向也有良好的应用前景。 外观半透明&#xff0c;便于观察管内情…

【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包

【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包 文章目录 【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包1.确保你已经安装了moveit2环境2.配置机械臂功能包Reference 环境信息&#xff1a; ubuntu 22.04ros2 humblemoveit2 1.确保你已经安装了…

《佩德罗·巴拉莫》炽热的科马拉土地上,游荡的亡魂诉说着一切!

《佩德罗巴拉莫》炽热的科马拉土地上&#xff0c;游荡的亡魂诉说着一切&#xff01; 胡安鲁尔福&#xff08;1917-1986&#xff09;&#xff0c;墨西哥作家&#xff0c;代表作有《佩德罗巴拉莫》《燃烧的原野》《金鸡》&#xff0c;和诺奥克塔维奥帕斯、卡洛斯弗恩特斯并称为墨…

Redisson - tryLock 函数参数分析

这里有三个参数&#xff1a; waitTime&#xff1a;等待时间leaseTime&#xff1a;超时施放时间TimeUnit&#xff1a;时间单位 等待时间 如果 ABC… 多个线程去抢夺一把锁&#xff0c;A 成功了&#xff0c;如果设置的是 -1&#xff0c;那么 BCD... 就不等待&#xff0c;直接返…

使用CNN实现新闻文本分类

一、实验目的&#xff1a; 理解卷积神经网络的基本概念和原理&#xff1b;了解卷积神经网络处理文本数据的基本方法&#xff1b;掌握卷积神经网络处理文本数据的实践方法&#xff0c;并实现新闻文本的分类任务。 实验要求&#xff1a; 使用Keras框架定义并训练卷积神经网络模…

防盗链在nginx中如何配置,简单演示403forbidden的效果

一、使用场景&#xff1a; 资源被其他网站无端盗用 服务器压力无端增加 二、实现方法 1.valid_referers指令可以检测被访问资源从哪个地址来 2.通过referer头字段判断 3.若为空&#xff0c;报403错误 nginx的准备工作&#xff1a; 可以看 虚拟机中使用LNMP模拟跨域并结合…

书籍推推荐之二--《生命的色彩》

史钧《生命的色彩》 在生活中&#xff0c;我们会注意到一个有趣的现象&#xff1a;每个人的头发颜色各不相同&#xff0c;有黑色、灰色、黄色、棕红色、银白色等&#xff0c;但就是没有绿色。对于生活在丛林中的早期人类来说&#xff0c;绿色的头发简直就是天然的迷彩服&#x…

基于arcpro3.0.2版的使用深度学习检测对象之椰子树

基于arcpro3.0.2版的使用深度学习检测对象之椰子树 GPU显卡Nivda 1080 训练模型图 (四)检测对象之椰子树 使用深度学习检测对象 打开 detect objects using deep learning,参数 输入栅格为要检测的影像 模型定位为上一步输出的.emd文件 cpu模式Max Overlap Ratio0.4 运行时间…

C++感受6-Hello World 交互版

变量、常量输入、输出、流getline() 函数读入整行输入Hello() 函数复习新定义函数 Input() 实现友好的人机交互还有 “痘痘” 为什么挤不到的分析…… 1. DRY 原则简介 上一节课&#xff0c;我们写了两版“问候”程序。第一版的最大问题是重复的内容比较多&#xff0c;每一次问…

今日arXiv最热大模型论文:大模型也来看球,还能判断是否犯规

在足球世界&#xff0c;裁判的哨声可谓“千金难买”&#xff0c;因为它能直接决定俱乐部的钱包是鼓是瘪。但球场变化莫测&#xff0c;非常考验裁判的水平。 2022年卡塔尔世界杯上&#xff0c;半自动越位识别技术&#xff08;SAOT&#xff09;闪亮登场&#xff0c;通过12台摄像…

高并发场景中DB和Cache的一致性新的方案感想

拜读了: 美团2面&#xff1a;如何保障 MySQL 和 Redis 数据一致性&#xff1f;这样答&#xff0c;虐爆面试官这篇文章后的感想 高并发场景中数据库和缓存的一致性和可用性的感想 1&#xff0c;先更新缓存&#xff0c;再更新数据库1.1&#xff0c;前提1.2&#xff0c;理由1.2.1&…

Echarts-知识图谱

Echarts-知识图谱 demo地址 打开CodePen 效果 思路 1. 生成根节点 2. 根据子节点距离与根节点的角度关系&#xff0c;生成子节点坐标&#xff0c;进而生成子节点 3. 从子节点上按角度生成对应的子节点 4. 递归将根节点与每一层级子节点连线核心代码 定义节点配置 functio…

目标检测——大规模商品数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …