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

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 {@Resourceprivate ClassesMapper classesMapper;@Overridepublic 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 {@Resourceprivate ClassesService classesService;@GetMappingpublic 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;                 //城市IDprivate 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 {@Resourceprivate CityMapper cityMapper;@Overridepublic 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 {@Resourceprivate CityService cityService;@GetMappingpublic 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)如果没有获得父城市,表示就是省,直接添加ListprovinceList.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);
    
  • 实现类

    在这里插入图片描述

        @Overridepublic 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 {@Resourceprivate CourseMapper courseMapper;@Overridepublic 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 {@Resourceprivate CourseService courseService;/*** 查询所有课程* @return*/@GetMappingpublic 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);
    
  • 实现类

    在这里插入图片描述

        @Overridepublic List<Course> selectAllBySid(Integer sid) {List<Course> courseList = courseMapper.selectAllBySid(sid);return courseList;}
    
http://www.lryc.cn/news/259599.html

相关文章:

  • PDF控件Spire.PDF for .NET【转换】演示:将 PDF 转换为线性化
  • 猫头虎博主深度探索:Amazon Q——2023 re:Invent大会的AI革新之星
  • Spring框架-GOF代理模式之JDK动态代理
  • 基于JAVAEE技术校园车辆管理系统论文
  • 基于FFmpeg,实现播放器功能
  • 利用tf-idf对特征进行提取
  • 遇到运维故障,有没有排查和解决故障的正确流程?
  • javaWebssh汽车销售管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计
  • 基于pandoraNext使用chatgpt4
  • 12.视图
  • Leetcode69 x的平方根
  • 在Linux上安装配置Nginx高性能Web服务器
  • LeetCode 每日一题 Day 11||贪心
  • ocr表格文字识别软件怎么使用?
  • 【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】
  • 使用 Goroutine 和 Channel 构建高并发程序
  • 大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类
  • Lenovo联想拯救者Legion Y9000X 2021款(82BD)原装出厂Windows10系统
  • pytorch中的transpose用法
  • SpringBoot面试题及答案(最新50道大厂版,持续更新)
  • KUKA机器人如何隐藏程序或程序段?
  • C++ STL(1)--概述
  • unity 2d 入门 飞翔小鸟 死亡闪烁特效(十三)
  • Cannot find cache named ‘‘ for Builder Redis
  • IntelliJ IDEA的下载安装配置步骤详解
  • 光线追踪算法实现
  • 学习深度强化学习---第3部分----RL蒙特卡罗相关算法
  • linux虚拟机使用81-persistent-net.rule后接口名依然改变的问题处理
  • ARMV8 - A64 - 跳转和返回指令
  • QX320F28335,自研内核指令集,主频150MHz,自研工具链,纯国产DSP,硬件兼容TMS320F28335