Java项目学生管理系统六后端补充

班级管理

1 班级列表:后端

  • 编写JavaBean【已有】
  • 编写Mapper【已有】
  • 编写Service
  • 编写controller

在这里插入图片描述

  • 编写Service

    • 接口

      package com.czxy.service;
      
      import com.czxy.domain.Classes;
      
      import java.util.List;
      
      /**
       * @author 桐叔
       * @email liangtong@itcast.cn
       * @description
       */
      public interface ClassesService {
      
          /**
           * 查询所有
           * @return
           */
          public List<Classes> selectAll();
      }
      
      
    • 实现类

      package com.czxy.service.impl;
      
      import com.czxy.domain.Classes;
      import com.czxy.mapper.ClassesMapper;
      import com.czxy.service.ClassesService;
      import org.springframework.stereotype.Service;
      import org.springframework.transaction.annotation.Transactional;
      
      import javax.annotation.Resource;
      import java.util.List;
      
      /**
       * @author 桐叔
       * @email liangtong@itcast.cn
       * @description
       */
      @Service
      @Transactional
      public class ClassesServiceImpl implements ClassesService {
          @Resource
          private ClassesMapper classesMapper;
      
          @Override
          public List<Classes> selectAll() {
              List<Classes> classesList = classesMapper.selectAll();
              return classesList;
          }
      }
      
      
  • 编写controller

    package com.czxy.controller;
    
    import com.czxy.domain.Classes;
    import com.czxy.service.ClassesService;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    /**
     * @author 桐叔
     * @email liangtong@itcast.cn
     * @description
     */
    @RestController
    @RequestMapping("/classes")
    public class ClassesController {
        @Resource
        private ClassesService classesService;
    
        @GetMapping
        public ResponseEntity<List<Classes>> selectAll() {
            // 查询
            List<Classes> classesList = classesService.selectAll();
            // 返回
            return ResponseEntity.ok(classesList);
        }
    }
    
    

城市管理

1 查询所有城市:后端

1 JavaBean

在这里插入图片描述

package com.czxy.domain;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.ArrayList;
import java.util.List;

/**
 * @author 桐叔
 * @email liangtong@itcast.cn
 * @description
 */
@Table(name = "tb_city")
public class City {
    @Id
    @Column(name = "c_id")
    private String cid;                 //城市ID

    private String cityName;            //城市名称

    private String parentId;            //父ID

    //一对多:一个城市(省/市)拥有多个子城市(多个市/多个县) ,new对象为了操作【方便】
    private List<City> children = new ArrayList<>();

    //....
}

/*
CREATE TABLE tb_city(
  c_id VARCHAR(32) PRIMARY KEY COMMENT '城市ID',
  city_name VARCHAR(20) COMMENT '城市名称' ,
  parent_id VARCHAR(32) COMMENT '父ID'
);
 */

2 Mapper

在这里插入图片描述

package com.czxy.mapper;

import com.czxy.domain.City;
import tk.mybatis.mapper.common.Mapper;

/**
 * @author 桐叔
 * @email liangtong@itcast.cn
 * @description
 */
public interface CityMapper extends Mapper<City> {
}

3 Service

在这里插入图片描述

  • 接口

    package com.czxy.service;
    
    import com.czxy.domain.City;
    
    import java.util.List;
    
    /**
     * @author 桐叔
     * @email liangtong@itcast.cn
     * @description
     */
    public interface CityService {
    
        /**
         * 查询所有(省、市、县)
         * @return
         */
        public List<City> selectAll();
    }
    
    
  • 实现类

    package com.czxy.service.impl;
    
    import com.czxy.domain.City;
    import com.czxy.mapper.CityMapper;
    import com.czxy.service.CityService;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    import tk.mybatis.mapper.entity.Example;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    /**
     * @author 桐叔
     * @email liangtong@itcast.cn
     * @description
     */
    @Service
    @Transactional
    public class CityServiceImpl implements CityService {
        @Resource
        private CityMapper cityMapper;
    
        @Override
        public List<City> selectAll() {
            //1 条件查询:排序
            Example example = new Example(City.class);
            example.orderBy("parentId").asc();      //升序
    
            //2 查询
            List<City> cityList = cityMapper.selectByExample(example);
    
            return cityList;
        }
    }
    
    

4 Controller

在这里插入图片描述

package com.czxy.controller;

import com.czxy.domain.City;
import com.czxy.service.CityService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 桐叔
 * @email liangtong@itcast.cn
 * @description
 */
@RestController
@RequestMapping("/city")
public class CityController {

    @Resource
    private CityService cityService;

    @GetMapping
    public ResponseEntity<List<City>> selectAll() {
        // 1 查询所有 省/市/县
        List<City> cityList = cityService.selectAll();

        // 2 处理数据 省(市(县))
        // 2.1.1 提供Map,用于缓存所有城市,目的:方便子城市找到父城市
        // map.id 城市id,方便子获得, map.value 城市
        Map<String, City> cacheMap = new HashMap<>();
        // 2.1.2 提供List,存放所有的省
        List<City> provinceList = new ArrayList<>();

        // 2.2 遍历所有城市
        for(City city: cityList) {
            // 2.3.1 从map获得父城市
            City parentCity = cacheMap.get(city.getParentId());
            if(parentCity == null) {
                // 2.3.2 1)如果没有获得父城市,表示就是省,直接添加List
                provinceList.add(city);
            } else {
                // 2.3.2 2)如果获得父城市,表示市、县,将器追加到父城市的子列表中
                parentCity.getChildren().add(city);
            }
            // 2.3.3 当前城市添加到map中,方便下一次自己的子城市可以获得自己
            cacheMap.put(city.getCid(), city);
        }

        //3 返回所有的省
        return ResponseEntity.ok(provinceList);
    }
}

查询指定父id的所有城市:后端

1 Service

  • 接口

    在这里插入图片描述

        /**
         * 通过父id查询所有
         * @param parentId
         * @return
         */
        public List<City> selectByParentId(String parentId);
    
  • 实现类

    在这里插入图片描述

        @Override
        public List<City> selectByParentId(String parentId) {
            //1 条件
            Example example = new Example(City.class);
            Example.Criteria criteria = example.createCriteria();
            criteria.andEqualTo("parentId", parentId);
    
            //2 查询
            List<City> cityList = cityMapper.selectByExample(example);
    
            //3 返回
            return cityList;
        }
    

2 Controller

在这里插入图片描述

    /**
     * 通过父id查询
     * @param pid
     * @return
     */
    @GetMapping("/parent/{pid}")
    public ResponseEntity<List<City>> selectAllByParentId(@PathVariable("pid") String pid) {
        //查询
        List<City> cityList = cityService.selectByParentId(pid);
        //返回
        return ResponseEntity.ok(cityList);
    }

课程管理

1查询所有:后端

在这里插入图片描述

1 Service

  • 接口

    package com.czxy.service;
    
    import com.czxy.domain.Course;
    
    import java.util.List;
    
    /**
     * @author 桐叔
     * @email liangtong@itcast.cn
     * @description
     */
    public interface CourseService {
    
        /**
         * 查询所有课程
         * @return
         */
        public List<Course> selectAll();
    }
    
    
  • 实现类

    package com.czxy.service.impl;
    
    import com.czxy.domain.Course;
    import com.czxy.mapper.CourseMapper;
    import com.czxy.service.CourseService;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    /**
     * @author 桐叔
     * @email liangtong@itcast.cn
     * @description
     */
    @Service
    @Transactional
    public class CourseServiceImpl implements CourseService {
        @Resource
        private CourseMapper courseMapper;
        @Override
        public List<Course> selectAll() {
            List<Course> courseList = courseMapper.selectAll();
            return courseList;
        }
    }
    
    

2 Controller

package com.czxy.controller;

import com.czxy.domain.Course;
import com.czxy.service.CourseService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author 桐叔
 * @email liangtong@itcast.cn
 * @description
 */
@RestController
@RequestMapping("/course")
public class CourseController {

    @Resource
    private CourseService courseService;

    /**
     * 查询所有课程
     * @return
     */
    @GetMapping
    public ResponseEntity<List<Course>> selectAll() {
        //查询
        List<Course> courseList = courseService.selectAll();
        //返回
        return ResponseEntity.ok(courseList);
    }
}

2 查询指定学生的所有课程:后端

在这里插入图片描述

1 Mapper【已有】

2 Service

  • 接口

    在这里插入图片描述

        /**
         * 查询指定学生的所有课程
         * @param sid
         * @return
         */
        public List<Course> selectAllBySid(Integer sid);
    
  • 实现类

    在这里插入图片描述

        @Override
        public List<Course> selectAllBySid(Integer sid) {
            List<Course> courseList = courseMapper.selectAllBySid(sid);
            return courseList;
        }
    

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

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

相关文章

计算机基础

【一】深度学习中常用的Linux命令汇总 1.man&#xff1a;man command&#xff0c;可以查看某个命令的帮助文档&#xff0c;按q退出帮助文档 2.cd&#xff1a;用于切换目录&#xff0c;cd - 可以在最近两次目录之间来回切换 3.touch&#xff1a;touch file创建文件。 4.ls&…

Windows、Linux 和 macOS 操作系统:操作系统大比较

目录 引言 Windows Linux macOS 1. 用户界面 1.1 Windows 1.2 Linux 1.3 macOS 2. 开发者支持 2.1 Windows 2.2 Linux 2.3 macOS 3. 安全性和稳定性 3.1 Windows 3.2 Linux 3.3 macOS 结论 引言 在计算机科学领域&#xff0c;操作系统是计算机系统中的核心软件…

【计算机视觉】SIFT

在边缘提取的时候&#xff0c;用高斯一阶导对信号进行卷积&#xff0c;响应值最大的就是边界如果用高斯二阶导对信号进行卷积&#xff0c;0点就是边界点&#xff08;二阶导等于0的点&#xff0c;对应一阶导的极值点&#xff09; 如果用高斯二阶导在不同的信号上进行卷积&#x…

华为数通---配置基本QinQ示例

QinQ简介 定义 QinQ&#xff08;802.1Q-in-802.1Q&#xff09;技术是一项扩展VLAN空间的技术&#xff0c;通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能&#xff0c;可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag&#x…

【JavaWeb学习笔记】7 - Servlet入门开发

零、在线文档 Servlet 3.1 API Documentation - Apache Tomcat 8.0.53 一、Servlet基本介绍 1.为什么出现Servlet 提出需求:请用你现有的html css javascript&#xff0c;开发网站&#xff0c;比如可以让用户留言/购物/支付,你能搞定吗? 不能 这几个不能直接操作数据库 …

Android gradle配置jar包加载顺序及延伸知识

Android gradle配置jar包加载顺序及延伸知识 前言一、直接配置1.APP目录下的build.gradle2.项目级的build.gradle3.其他问题 二、gradle的生命周期及关键方法1.关键方法2.gradle的生命周期 总结 前言 项目涉及到了要加载framework.jar&#xff0c;需要将libs文件夹下的framewo…

SpringBoot对PDF进行模板内容填充、电子签名合并

1. 依赖引入–这里只包含额外引入的包 原有项目包不含括在内 <!-- pdf编辑相关--> <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version> </dependency><de…

数据结构与算法:选择排序

原理 从当前位置到最后&#xff0c;找出最小(或者最大)值&#xff0c;放在当前位置&#xff0c;位置后移。然后重复此过程。 每次都要在剩余未排序的集合中&#xff0c;找到那个最小(或者最大)的值&#xff0c;放到当前位置。所以叫选择排序。 最小或者最大&#xff0c;影响…

iOS加密CoreML模型

生成模型加密密钥 必须在Xcode的Preferences的Accounts页面登录Apple ID&#xff0c;才能在Xcode中生成模型加密密钥。 在Xcode中打开模型&#xff0c;单击Utilities选项卡&#xff0c;然后单击“Create Encryption Key”按钮。 从下拉菜单中选择当前App的Personal Team&…

Hive命令操作

1.命令行模式 1. 获取帮助 --> hive -H 或-help 2. 运行hive语句 --> hive -e "执行语句" 3. 运行hive文件 --> hive –f "执行文件" 4. 定义变量 --> hive –hivevar keyvalue 5. 引用变量 --> ${varname} 2. 交互模式 1. 进入客户端 -…

Apache Web 服务器监控工具

将Apache Web 服务器监控纳入 IT 基础架构管理策略有助于先发制人地识别性能瓶颈&#xff0c;这种主动监控方法提供必要的数据&#xff0c;以确保 Web 服务器能够胜任任务&#xff0c;并在需要时进行优化。保证客户获得流畅、无忧的用户体验可以大大有助于巩固他们对组织的信任…

STM32的DMA的五大问题

1&#xff0c;DMA控制器的内部结构 STM32中的DMA控制器是一种用于在外设和存储器之间传输数据的专用硬件。DMA控制器的内部结构主要包括以下几个关键部分&#xff1a; 通道&#xff1a; DMA控制器可以有多个通道&#xff0c;每个通道独立管理一个数据传输任务。通道的数量取决于…

【教学类-06-15】20231213 (按比例抽题+乱序or先加后减)X-Y之间“加法减法+-题”

作品展示&#xff1a; 背景需求 1、加减混合题——加法题多&#xff0c;减法题少 大三班一位女孩让我给他批改0-10加减法混合题&#xff0c;我随机从每列题目里面选了2个加法和2个减法题抽查答案正确性。 “347&#xff0c;对&#xff0c;这里819 对” 然后我停顿几秒&…

22.Java程序设计-基于SpringBoot的批发零售业商品管理小程序系统的设计与实现

摘要&#xff1a; 批发零售业商品管理小程序系统的设计旨在提高批发商、零售商和管理员的业务效率&#xff0c;实现商品的高效管理、订单的快速处理以及库存的精准监控。本系统基于Spring Boot框架&#xff0c;利用其强大的特性和生态系统&#xff0c;结合小程序前端&#xff…

R语言对医学中的自然语言(NLP)进行机器学习处理(1)

什么是自然语言(NLP)&#xff0c;就是网络中的一些书面文本。对于医疗方面&#xff0c;例如医疗记录、病人反馈、医生业绩评估和社交媒体评论,可以成为帮助临床决策和提高质量的丰富数据来源。如互联网上有基于文本的数据(例如,对医疗保健提供者的社交媒体评论),这些数据我们可…

AndroidStudio flutter 开发环境 绿色版,绿化方法

这里写自定义目录标题 绿色版下载:绿色版制作过程参考资料1.按照正常方式配置flutter开发环境(不包括桌面开发环境),确认能够正常编译apk2.移动AndroidStudio3.修改 {Android Studio安装路径}\bin\idea.properties4.移动.android5.移动AndroidSdk6.移动gradle 绿色版下载: and…

flink yarn-session 启动失败retrying connect to server 0.0.0.0/0.0.0.0:8032

原因分析&#xff0c;启动yarn-session.sh&#xff0c;会向resourcemanager的端口8032发起请求&#xff1a; 但是一直无法请求到8032端口&#xff0c;触发重试机制会不断尝试 备注&#xff1a;此问题出现时&#xff0c;我的环境ambari部署的HA 高可用hadoop&#xff0c;三个节点…

计算机网络传输层(期末、考研)

计算机网络总复习链接&#x1f517; 目录 传输层的功能端口UDP协议UDP数据报UDP的首部格式UDP校验 TCP协议&#xff08;必考&#xff09;TCP报文段TCP连接的建立TCP连接的释放TCP的可靠传输TCP的流量控制零窗口探测报文段 TCP的拥塞控制慢开始和拥塞控制快重传和快恢复 TCP和U…

低代码 —— 饮食均衡,合理膳食

目录 一、低代码的概念 二、低代码的优缺点 &#xff08;一&#xff09;优点 &#xff08;二&#xff09;缺点 三、低代码的能力 1、场景构建能力 2、数据编排能力 3、连接生态能力 4、业务中台能力 四、你认为低代码会替代传统编程吗&#xff1f; 1、从技术特征来看…

各厂家扇区电下倾识别调整方法

一、华为设备 针对华为4488天线或44天线TDD/FDD1800/FDD900电子下倾调整步骤 步骤1&#xff1a;先通过“DSP RETPORT”命令梳理全网供电开关开启状态 操作命令如下&#xff1a; &#xff08;可通过脚本执行DSP RETPORT:;命令批量提取全网信息&#xff0c;该命令是以RRU为单位…