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

news2024/11/27 20:57:03

班级管理

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

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

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

相关文章

老师可以做副业吗

当老师&#xff0c;除了教学工作之外&#xff0c;还可以怎样来丰富自己的职业体验和增加收入呢&#xff1f; 自媒体作者 许多教师选择成为自媒体作者&#xff0c;分享自己的教育心得、教学经验以及与学生相处的生活状态等。通过撰写文章、发布在社交媒体上&#xff0c;不仅可以…

单片机第三季-第六课:STM32标准库

1&#xff0c;为什么会有标准外设库 传统单片机软件开发方式&#xff1a; (1)芯片厂商提供数据手册、示例代码、开发环境&#xff1b; (2)单片机软件工程师面向产品功能&#xff0c;查阅数据手册&#xff0c;参考官方示例代码进行开发&#xff1b; (3)硬件操作的方式是用C语言…

大屏图表汇总echarts圆环

圆环效果示例 代码如下 storageStaChart() {let color [#009976,#15E6B5]let charts echarts.init(document.getElementById(storageStaChart));let option this.getPieOption(color);charts.setOption(option, true);}, getPieOption(color) {let data [];data.push({val…

2023年7月13日 Go生态洞察:Govulncheck v1.0.0的全面解析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

学习mysql记录

环境: macbookpro m1 1. 安装mysql 使用苹果自带的包管理工具brew进行安装 1. brew install mysql (安装) 2. brew services start mysql (启动mysql服务) 1.1 如果提示zsh: mysql command not found, 终端执行以下命令 1. cd ~ (切到根目录) 2. vi .bash_profile (进入编辑…

从零开始,利用ChatGPT学会写作的完整指南

文章目录 前言了解ChatGPT访问OpenAI平台使用ChatGPT进行简单的对话定义写作主题逐步生成文章段落添加个性化和细节编辑和润色反复修改直至满意 图书推荐内容简介作者简介获取方式 前言 在数字时代&#xff0c;人工智能技术日益成熟&#xff0c;为我们提供了全新的学习和创作机…

【Linux】在磁盘中如何找到文件 -- 磁盘的物理结构与逻辑结构

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法…感兴趣就关注我吧&#xff01;你定不会失望。 本篇导航 0. 磁盘物理结构介绍1. 磁盘逻辑结构2. 文件系统划分3. 如何理解文件目录4. 对文件的增删查改5. 软链接与硬链接5.1 软链接5.2.…

【C++11(二)】lambda表达式以及function包装器

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; C11 1. 前言2. lambda表达式的提出3. lambda表达…

mixamo根动画导入UE5问题:滑铲

最近想做一个跑酷游戏&#xff0c;从mixamo下载滑铲动作后&#xff0c;出了很多动画的问题。花了两周时间&#xff0c;终于是把所有的问题基本上都解决了。 常见问题&#xff1a; 1.【动画序列】人物不移动。 2.【动画序列】人物移动朝向错误。 3.【蒙太奇】人物移动后会被拉回…

c语言五子棋

下面是一个简单的C语言五子棋实现示例&#xff1a; #include <stdio.h>#include <stdlib.h>#define BOARD_SIZE 15char board[BOARD_SIZE][BOARD_SIZE];void init_board() { int i, j; for (i 0; i < BOARD_SIZE; i) { for (j 0; j < BOARD_…

AIGC:使用变分自编码器VAE实现MINIST手写数字生成

1 变分自编码器介绍 变分自编码器&#xff08;Variational Autoencoders&#xff0c;VAE&#xff09;是一种生成模型&#xff0c;用于学习数据的分布并生成与输入数据相似的新样本。它是一种自编码器&#xff08;Autoencoder&#xff09;的扩展&#xff0c;自编码器是一种用于…

vue中shift+alt+f格式化防止格式掉其它内容

好处就是使得提交记录干净&#xff0c;否则修改一两行代码&#xff0c;习惯性按了一下格式化快捷键&#xff0c;遍地飘红&#xff0c;下次找修改就费时间 1.点击设置图标-设置 2.点击这个转成配置文件 {"extensions.ignoreRecommendations": true,"[vue]":…

C# WPF上位机开发(会员管理软件)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 好多同学都认为上位机只是纯软件开发&#xff0c;不涉及到硬件设备&#xff0c;比如听听音乐、看看电影、写写小的应用等等。如果是消费电子&#…

DAPP开发【06】nodejs安装与npm路径更换

windows系统在执行用户命令时顺序 windows系统在执行用户命令时&#xff0c;若用户未给出文件的绝对路径&#xff0c; 则 &#xff08;1&#xff09;首先在当前目录下寻找相应的可执行文件、批处理文件等&#xff1b; &#xff08;2&#xff09;若找不到&#xff0c;再依次在系…

深入理解 new 操作符:创建对象的秘密武器(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

【开源】基于Vue.js的就医保险管理系统

文末获取源码&#xff0c;项目编号&#xff1a; S 085 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S085。} 文末获取源码&#xff0c;项目编号&#xff1a;S085。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预…

pycharm中debug,py文件

1、先把需要的实参传入 2、在合适位置打上断点 3、在小三角旁边右键调用调试 4.步进/步出查看 5.选择单步执行&#xff0c;走的更慢

使用函数计算,数禾如何实现高效的数据处理?

作者&#xff5c;邱鑫鑫&#xff0c;王彬&#xff0c;牟柏旭 公司背景和业务 数禾科技以大数据和技术为驱动&#xff0c;为金融机构提供高效的智能零售金融解决方案&#xff0c;服务银行、信托、消费金融公司、保险、小贷公司等持牌金融机构&#xff0c;业务涵盖消费信贷、小…

用窗函数法设计fir

FIR滤波器的设计可以通过窗函数法进行。窗函数法是一种通过在一定长度的数据窗口内&#xff0c;对数据进行加窗处理&#xff0c;然后再根据窗内数据的特征进行滤波器设计的方法。 以下是一个基本的步骤&#xff1a; 确定所需的滤波器参数&#xff0c;例如滤波器的阶数、过渡带…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积 1. LIT System&#xff1a;Linear Time Invariant2. 卷积 Convolution3. 单位冲激 Unit Impulse——Dirac Delta 线性时不变系统 &#xff1a; L…