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

案例-02.部门管理-查询

一.查询部门-需求

二.查询部门-思路

API接口文档

 

 三.代码实现

1.controller层:负责与前端进行交互,接收前端所发来的请求

注:Slf4j用于记录日志使用,可以省略private static Logger log = LoggerFactory.getLogger(DeptController.class);这行代码从而直接调用log对象。

注:@RequestMapping(value = "/depts",method = RequestMethod.GET)   指定请求方式为GET
但是这种请求方式过于麻烦,因此使用@GetMapping()注解,其含义也是请求方式为Get

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

public class DeptController {
    @Autowired
    private DeptService deptService;

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

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

设置Controller层接收前端发来的Get请求方式,url请求地址为/depts的请求后,controller层负责调用service层,由service层进行逻辑处理。因此通过依赖注入@Autowired来注入Service层的对象deptService。最后返回给前端的是一个统一响应结果Result。Result中封装的数据是查询出来的全部部门数据,封装在一个list集合当中。

2.service层:用来进行逻辑处理,并连接dao层,将从Dao层获得到的数据返回给controller层

service层接口:

package com.gjw.service;

import com.gjw.pojo.Dept;

import java.util.List;

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

service层实现类:

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();
    }
    
}

service层中的list方法使用注入的deptMapper对象调用list方法来进行数据的获取。

3.Dao层:连接数据库进行数据的获取并返回给service层

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();

}

使用list方法查询全部的部门数据,并以List<Dept>集合的方式由service层返回到controller层。并在controller层通过统一响应方式Result响应给前端

相关文章:

  • C# windowForms 的DataGridView控件的使用
  • Flutter 常见布局模型
  • flutter image_cropper插件安装后 打包apk 报错命名空间问题
  • matlab下载安装图文教程
  • 坐井说天阔---DeepSeek-R1
  • React项目react-pdf使用
  • P10452 货仓选址
  • 【devops】Github Actions Secrets | 如何在Github中设置CI的Secret供CI的yaml使用
  • LabVIEW 中 dotnet.llb 库功能
  • 图形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan简介
  • .net6 mvc 获取网站(服务器端)的IP地址和端口号
  • CTex安装和使用(1)
  • Windows 下安装 Python 和 Nodejs
  • 联想笔记本电脑摄像头灯亮,但没有画面怎么解决,
  • SM2加签、验签,加密、解密
  • 【洛谷】B3849 [GESP样题 三级] 进制转换
  • DeepSeek与ChatGPT的全面对比
  • electron 学习
  • 【virtiofs】ubuntu24.04+qemu7.0调试virtiofs
  • 洗牌加速!车规MCU“冷热交加”
  • 体验中国传统文化、采购非遗文创,波兰游客走进上海市群艺馆
  • 印称一名高级官员在巴基斯坦发动的袭击中死亡
  • 国际足联女子世界杯再次扩军,2031年起增至48支球队
  • 5天完成1000多万元交易额,“一张手机膜”畅销海内外的启示
  • 图忆|红场阅兵:俄罗斯30年来的卫国战争胜利日阅兵式
  • 青岛双星名人集团管理权之争:公司迁址,管理层更迭