SpringBoot案例-部门管理-查询

 查看页面原型,明确需求需求

页面原型

 需求分析

阅读接口文档

接口文档链接如下:

https://onedrive.live.com/?cid=C62793E731F0C1BE&id=C62793E731F0C1BE%2148

思路分析

用户发送请求,交由对应的Controller类进行处理,Controller类调用service实现查询部门功能,对应的service业务层调用对应的mapper接口,通过mapper接口查询数据库执行select * from dept;SQL语句,将查询结果返回给service,service将查询结果返回给Controller类,Controller将查询结果封装在统一查询结果Result类中,最终响应给前端。

功能接口的开发

 控制层(Controller)

具体代码如下

package com.example.tlias.controller;import com.example.tlias.pojo.Dept;
import com.example.tlias.pojo.Result;
import com.example.tlias.service.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.logging.Logger;@RestController
@Slf4j // 日志注解
public class DeptController {@Autowired// 注入service对象private DeptService deptService;// 获取日志记录对象// todo 查询部门信息// 指定请求路径及方式//    @RequestMapping(value = "/depts", method = RequestMethod.GET)// 上述注解的简化@GetMapping("depts")public Result list() {log.info("查询全部部门数据");// 调用service查询部门信息List<Dept> deptList = deptService.list();return Result.success(deptList);}
}

业务层(Service)

具体代码如下

Service接口

package com.example.tlias.service;import com.example.tlias.pojo.Dept;import java.util.List;public interface DeptService {/*** 查询全部部门数据** @return*/List<Dept> list();
}

 Service接口实现类

package com.example.tlias.service.impl;import com.example.tlias.mapper.DeptMapper;
import com.example.tlias.pojo.Dept;
import com.example.tlias.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class DeptServiceImpl implements DeptService {@Autowiredprivate DeptMapper deptMapper;@Overridepublic List<Dept> list() {return deptMapper.list();}
}

持久层(Mapper)

package com.example.tlias.mapper;import com.example.tlias.pojo.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;import java.util.List;@Mapper
public interface DeptMapper {/*** 查询全部的部门数据** @return*/@Select("select * from dept")List<Dept> list();
}

接口测试

使用Postman来进行接口测试,首先启动SpringBoot项目,然后再在Postman中发送对应请求

具体运行结果如下

{"code": 1,"msg": "success","data": [{"id": 1,"name": "学工部","createTime": "2023-08-07T15:44:50","updateTime": "2023-08-07T15:44:50"},{"id": 2,"name": "教研部","createTime": "2023-08-07T15:44:50","updateTime": "2023-08-07T15:44:50"},{"id": 3,"name": "咨询部","createTime": "2023-08-07T15:44:50","updateTime": "2023-08-07T15:44:50"},{"id": 4,"name": "就业部","createTime": "2023-08-07T15:44:50","updateTime": "2023-08-07T15:44:50"},{"id": 5,"name": "人事部","createTime": "2023-08-07T15:44:50","updateTime": "2023-08-07T15:44:50"}]
}

由于在控制类中使用的注解为@RestController(@Controller`和`@ResponseBody`注解的组合),控制类会自动将返回给前端的结果转换为JSON格式的数据。测试成功
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OPENCV C++(九)鼠标响应+dft+idft

鼠标响应回调函数&#xff08;固定格式&#xff09; void on_mouse(int EVENT, int x, int y, int flags, void* userdata) {Mat hh;hh *(Mat*)userdata;Point p(x, y);switch (EVENT){case EVENT_LBUTTONDOWN:{points.x x;points.y y;mousePoints.push_back(points);circle…

通讯协议034——全网独有的OPC HDA知识一之聚合(三)时间加权平均

本文简单介绍OPC HDA规范的基本概念&#xff0c;更多通信资源请登录网信智汇(wangxinzhihui.com)。 本节旨在详细说明HDA聚合的要求和性能。其目的是使HDA聚合标准化&#xff0c;以便HDA客户端能够可靠地预测聚合计算的结果并理解其含义。如果用户需要聚合中的自定义功能&…

JAVA-spring boot 2.4.X报错Unable to find GatewayFilterFactory with name Hystrix

网关升级spring boot项目后&#xff0c;启动网关报错&#xff0c;具体报错信息如下: 2021-12-06 09:06:25.335 ERROR 45102 --- [oundedElastic-3] reactor.core.publisher.Operators : Operator called default onErrorDropped reactor.core.Exceptions$ErrorCallback…

设计模式-简单工厂模式(静态工厂模式)java实现

介绍 简单工厂模式根据所提供的参数数据返回几个可能类中的一个类的实例。通常返回的类都有一个公共的父类和公共的方法。 意图 提供一个类&#xff0c;负责根据一定的条件创建某一具体类的实例。同时使用工厂模式也是为了隐藏创建对象的过程 角色及其职责 (1)工厂(Creator…

kibana+nginx配置密码 ubuntu

JAVA进阶之路-nginx设置密码 Kibana——通过Nginx代理Kibana并实现登陆认证 需要配置一下nginx文件 nginx配置文件详解 密码生成安装软件 apt install apache2-utils

CentOS中自动加载802.1q模块

CentOS中自动加载802.1q模块 要想在CentOS中自动加载内核模块&#xff0c;需要在/etc/sysconfig/modules/目录中增加一个脚本&#xff0c;在此脚本中加载所需的模块。 下面是我所用的一个名为8021q.modules的脚本&#xff0c;用来在我的CentOS 5.3中自动加载802.1Q模块&#…

视频分辨率: UXGA/SVGA/VGA/QVGA/QQVGA

视频分辨率除了常见的720p/2K/4K外, 还有VGA系列的分辨率 相关字段含义: V——Video &#xff08;视频&#xff09; G——Graphics&#xff08;图像&#xff09; A——Array&#xff08;阵列&#xff09; S——Super(超级) X——Extended(扩展) U——Ultra(终极) W——Wide&am…

问题解决和批判性思维是软件工程的重要核心

软件工程的重心在于问题解决和批判性思维&#xff08;合理设计和架构降低复杂度&#xff09;&#xff0c;而非仅局限于编程。 许多人误以为软件工程就只是编程&#xff0c;即用编程语言编写指令&#xff0c;让计算机按照这些指令行事。但实际上&#xff0c;软件工程的内涵远超…

C语言---数据结构实验---哈夫曼树及哈夫曼编码的算法实现---图的基本操作

文章目录 写在前面哈夫曼树及哈夫曼编码的算法实现实验内容代码实现 图的基本操作实验内容代码实现 写在前面 本篇实验代码非本人写&#xff0c;代码源自外部&#xff0c;经调试解决了部分warning和error后在本地vs上可以正常运行&#xff0c;如有运行失败可换至vs 未来会重构…

Prometheus-监控 Postgresql

一、部署 1 二进制方式部署 github 地址:https://github.com/prometheus-community/postgres_exporter 1.1 下载 可以从官方发布版本中找到多个平台的二进制安装包。 打开连接后,点击 Assets,即可看到下载列表。 本文档使用如下版本作为示例 curl -o postgres_exporte…

一、初识 Spring MVC

文章目录 一、初始 Spring MVC1.1 回顾 MVC 模式1.2 回顾 Servlet 一、初始 Spring MVC 什么是 Spring MVC Spring MVC就是一个 Spring 内置的 MVC 框架。 MVC框架&#xff0c;它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化等等)&#xff0c;而且使用…

Python web实战之细说Django的中间件

&#x1f511; 关键词&#xff1a;Python Web 开发、Django、中间件 今天分享Python Web开发中的一个重要成员&#xff1a;Django的中间件。介绍中间件的概念、作用及其在实战中的应用。 1 什么是中间件 在Python Web开发中&#xff0c;中间件&#xff08;Middleware&#xff…

vue中使用this.$refs获取不到子组件的方法,属性方法都为undefined的解决方法

问题描述 vue2中refs获取不到子组件中的方法&#xff1f;&#xff0c;而获取到的是undefined 原因及解决方案&#xff1a; 第一种、在循环中注册了很多个ref 因为注册了多个ref&#xff0c;获取是不能单单知识refs.xxx&#xff0c;需要使用数组和索引来获取具体一个组件refs[…

yolov5目标检测多线程C++部署

C多线程复习 下面的代码搭建了简单的一个生产者-消费者模型&#xff0c;在capture()函数中进行入队操作&#xff0c;infer()函数中进行出队操作&#xff0c;为了模拟采图-推理流程&#xff0c;在函数中调用Sleep()函数延时。 #include <iostream> #include <string&…

Rabbitmq的消息确认

配置文件 spring:rabbitmq:publisher-confirm-type: correlated #开启确认回调publisher-returns: true #开启返回回调listener:simple:acknowledge-mode: manual #设置手动接受消息消息从生产者到交换机 无论消息是否到交换机ConfirmCallback都会触发。 Resourceprivate Rabb…

adb用法,安卓的用户CA证书放到系统CA证书下

设备需root&#xff01;&#xff01;设备需root&#xff01;&#xff01;设备需root&#xff01;&#xff01; ​​​​​​​测试环境&#xff1a;redmi 5 plus、miui10 9.9.2dev&#xff08;安卓8.1&#xff09;、已root win下安装手机USB驱动&#xff08;过程略&#xff0c…

【Spring专题】Spring之底层架构核心概念解析

目录 前言前置知识课程内容一、BeanDefinition&#xff1a;图纸二、BeanDefinitionReader&#xff1a;图纸读取器——Spring工厂基础设施之一2.1 AnnotatedBeanDefinitionReader2.2 XmlBeanDefinitionReader2.3 ClassPathBeanDefinitionScanner 三、BeanFactory&#xff1a;生产…

关于在c++中使用数组名作为函数参数,或者使用数组名的地址作为函数参数问题的一些研究

前言 使用数组名作为函数参数&#xff0c;或者使用数组名的地址作为函数参数&#xff0c;常常出现于对于字符串的读入问题之中。 常有以下两种写法&#xff1a; 这是使用数组名作为函数参数 #include<cstdio> char s[100]; int main() {scanf("%s",s); }在…

分糖果、、

描述 10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块&#xff0c;第9个小孩14块&#xff0c;第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩,糖块为奇数的…

Vue3 - hooks 功能模块抽离示例(项目开发常用)

前言 在 vue3 项目开发中,功能模块或页面 / 组件逻辑都避免不了 hooks,充分利用它会使项目代码耦合较低、复用性更强、易维护等。 本文 提供 vue3 真实项目开发中,最常见的 hooks 功能抽离示例, 按照此示例,可进行更多场景的举一反三。 新手小白一看就懂,秒知 hooks 的…