案例-部门管理-新增

server/2024/12/22 20:30:52/

黑马程序员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("根据部门名称新增部门");//调用servicedeptService.insertDeptByName(dept);return Result.success();}

2、service

(1)service接口层

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

(2)Service实现层

  1. 补充基础数据(因为前端页面只需要传递一个参数 name(部门名称))
  2. 调用Mapper接口新增数据
 /*** 根据部门名称新增部门* @param dept*/@Overridepublic 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 {@Autowiredprivate DeptService deptService;/*** 查询全部部门数据** @return*/@GetMappingpublic 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删除部门");//调用servicedeptService.deleteDeptById(id);return Result.success();}/*** 根据部门名称新增部门* @param dept 部门* @return*/@PostMappingpublic Result insertDeptByName(@RequestBody Dept dept){//打印日志信息log.info("根据部门名称新增部门");//调用servicedeptService.insertDeptByName(dept);return Result.success();}
}

http://www.ppmy.cn/server/18974.html

相关文章

OCP Java17 SE Developers 复习题15(完)

答案 B, F. The Driver and PreparedStatement interfaces are part of the JDK, making options A and E incorrect. Option C is incorrect because we made it up. The concrete DriverManager class is also part of the JDK, making option D incorrect. Options B and…

机器学习之sklearn基础教程

ChatGPT Scikit-learn (简称sklearn) 是一个非常受欢迎的Python机器学习库。它包含了从数据预处理到训练模型的各种工具。下面是一个关于如何使用sklearn进行机器学习的基础教程。 1. 安装和导入sklearn库 首先&#xff0c;你需要安装sklearn库&#xff08;如果你还没有安装的…

排序算法-快速排序

一、快速排序 快速排序也属于交换排序&#xff0c;通过元素之间的比较和交换位置来达到排序的目的。 冒泡排序在每一轮中只把1个元素冒泡到数列的一端。而快速排序则在每一轮挑选一个基准元素&#xff0c;并让其他比它大的元素移动到数列一边&#xff0c;比它小的元素移动到数列…

[C++ QT项目实战]----C++ QT系统登陆界面设计

前言 在C QT项目开发过程中&#xff0c;设计系统登录界面可以使用QT框架来实现。以下是一个简单的系统登录界面设计示例&#xff1a; 创建登录界面UI&#xff1a;可以使用QT Designer来设计登录界面的UI&#xff0c;包括用户名输入框、密码输入框、登录按钮等。在QT Designer中…

wow-slist文件说明

wow-slist文件说明 项目地址&#xff1a;https://gitee.com/wow-iot/wow-iot7本文件的的功能主要用于链表相关操作&#xff0c;主要涉及创建、销毁、插入、查找、移除、替换、获取、清空、遍历&#xff1b; 创建与销毁: Slist_T* wow_slist_create(void) {Slist_T *slist C…

用 Python 创建 Voronoi 图

概述 最常见的空间问题之一是找到距离我们当前位置最近的兴趣点 (POI)。假设有人很快就会耗尽汽油&#xff0c;他/她需要在为时已晚之前找到最近的加油站&#xff0c;解决这个问题的最佳解决方案是什么&#xff1f;当然&#xff0c;驾驶员可以检查地图来找到最近的加油站&…

GEM TSU Interface Details and IEEE 1588 Support

摘要&#xff1a;Xilinx ZNYQ ULTRASCALE MPSOC的GEM和1588的使用 对于FPGA来说&#xff0c;只需要勾选一些znyq的配置就行了&#xff0c;其余的都是软件的工作&#xff1b; 所有配置都勾选之后&#xff0c;最终会露出来的接口如下&#xff1a; GEM需要勾选的配置如下&#xf…

【C++】哈希思想

目录 哈希介绍&#xff1a; 一&#xff0c;位图 1-1&#xff0c;位图的认识 1-2&#xff0c;位图的简单实现 1-3&#xff0c;位图的应用 二&#xff0c;布隆过滤器 2-1&#xff0c;布隆过滤器的认识 2-2&#xff0c;布隆过滤器的简单实现 2-3&#xff0c;布隆过滤器的…