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

案例-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响应给前端


http://www.kler.cn/a/548001.html

相关文章:

  • 2024-arXiv-Alpha2:使用深度强化学习发现逻辑公式化Alpha
  • 计算机网络原理试题二
  • 时间序列分析(四)——差分运算、延迟算子、AR(p)模型
  • 盲注技术获取数据库的表、列和具体数据
  • DeepSeek 助力 Vue 开发:打造丝滑的无限滚动(Infinite Scroll)
  • 基于Swift实现仿IOS闹钟
  • 3.3 企业级AI Agent工程实践:从API设计到高可用架构的全栈开发指南
  • ES 命令行查询
  • LeetCodehot100 力扣热题100 二叉树展开为链表
  • CMakeLists使用
  • 1-7 gitee代码推送问题
  • CogView 2 模型及论文详解
  • 如何借助DeepSeek发现安全运维的风险点并提升效率
  • 2025智能硬件售后服务管理系统选择的六大标准
  • 软件测试之接口测试理论知识
  • Leetcode 146 LRU缓存 的三种解法
  • MAC 系统关闭屏幕/睡眠 后被唤醒 Wake Requests
  • sql注入之盲注(bool盲注,时间盲注)
  • Hackmyvm quick2
  • 如何再渲染101平台选择最适合3ds Max动画渲染的机器配置?