课程分类管理-课程分类显示接口(2) | 学习笔记

简介: 快速学习课程分类管理-课程分类显示接口(2)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)课程分类管理-课程分类显示接口(2)学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11362


课程分类管理-课程分类显示接口(2)


内容介绍

一、返回格式数据

二、针对返回数据创建对应的实体类

三、编写具体封装代码


一、返回格式数据

CAutowired

private EduSubjectService subjectService;

//添加课程分类

//获取上传过来文件,把文件内容读取出来

@PostMapping( addSubject )

public R addSubject (MultipartFile file)

//上传过来 Excel 文件

subjectService. saveSubject (file, sub. jectService) :

return R. ok() :

返回这种格式数据:

id: 1,

label:,'一级分类名称',

children:

id:4、

label: '二级分类1',

id:2、

label: 1- 级分类2',

children: [

id: 5,

label: '二级-1'

id:б,

label: '二级2-2'

二,针对返回数据创建对应的实体类

第一步操作需要就是针对那个返回到数据创建对应的实体类,比如说现在看反应数据有什么数据,那就创建什么样的实体类,这是第一步。

在数据中,这里边这一部分是一级分类,一部分是二级分类,所以根据他就建两个实体类。

创建两个实体类,一个是一级分类,还有一个是二级分类,把这两串出来,然后你俩是一类跟他对应里面都是有ID和名称ID和名称,把这个做到,这是第一步操作。

//一级分类

@Data

public class OneSubject

private String id:

private String title:

//二级分类

@Data

public class twoSubject

private String id:

private String title:

再来建个包儿,这个包就叫 subject。

这个包,然后在 CS 中来创建两个一类,第一个是一级分类,比如说叫这个 oneSubject,一级分类,这是第一个,再创建一个叫二级分类,我们写一个叫twosubject。

这是他的这两个是一类,然后创建之后,对应那个数据写上它的属性就是ID和名称,这是一级分类。

然后写 ID 和名称来一 private school,这是 ID,第二个 private 写它的名称,这里边叫label,看一下表里边表中叫 title,写哪个都可以,就写个开头,这是第一个,写完之后,上面加上这个 data 属性,生成它的 get 的方法,这个就是一级分类,然后写完之后,再写他的二级分类,就是这个二级分类上面也是加上一个 data,然后在二级分类中也是 ID 和名称,所以这个就做到了,这是一级分类,这是二级分类。这是第一步操作。

import lombok. Data:

import java. util. ArrayList:

import java. util.List:

//一级分类

@Data

public class OneSubject 1

private String id:

private String title:

//一个一级分类有多个二级分类

private List<TwoSubject> children = new ArrayList<>():

第二步要给大家强调,因为现在还是按数据,一级分类下是不是有二级分类,另外一个一下边可能有多个二级分类,他们之间是有关系,所以第二个操作就在两个实体类之间来表示他们之间的一个关系,就是一个一级分类中有多个二级分类,把这关系在里边表示出来。一个一分类,有多个二级分类。

把这个格式要清楚,把这关系通过实体类。那多个怎么填出来多个的效果,可以写个数组类型,是不是也可以写个集合类型,因为速度和集合里边都可以存这个数据,所以这里边为了操作方便,用集合来表示,用过集合表示他的多个这种结构,多个肯定是能存多个数据的这种结构。

做这些目的都是为了最终这个数据的封装使用,因为你不这么做,数据后面不好返回它那个格式,这是第二步。

三,编写具体封装代码

@Autowired

private EduSubjectService subjectService;

//添加课程分类

//获取上传过来文件,把文件内容读取出来

@PostMapping( addSubject )

public R addSubject (MultipartFile file)

//上传过来 Excel 文件

subjectService. saveSubject (file, sub. jectService) :

return R. ok() :

//课程分类列表(树形)

//list集合泛形是一级分类

@GetMapping(" getAllSubject" )

public R getAllSubject() (

subjectService. getAll0neTwoSubject() :

return R. ok() ;

首先我们的第一步操作,现在要返回数据数据,肯定有一级和二级,所以第一步操作,但是要把那个就是查询出所有的一级分类。

然后在查询出所有的二级分类这两个分类,但是要先查出来先有数据才能封装,没有数据不能封装。

  1. 都查出来之又来封装他那个一级分类,一级分类放到里面去,然后封装之后,第四步等待封装那个二级分类。主要是这么一个总体上流程。

怎么来查,看这个表里边,那主要思想是一个特点,一级分类的最大特点就是Parent ID 是等于零,查的话,只要加个条件,当等于零,那一分类是都查出来了,这就是他的第一个,注意不等于零二级分不出来,因为只有两级,没有三级,那三级用其他方式,所以就这么做。

做一个分析,查出来后做封装,就先有数据网实现。怎么查,是在这个坠子里面做操作,比如这边先简单写个语句。

From 这张表儿,然后加一个 will,加一个叫 parent。这个 ID 等于一个值是零,J查出来的肯定是一级分类,然后这个值如果说它不等于零那查出来的肯定是二级分类,但是咱现在把语句编程代码在里面,其实就是多了一个条件就可以,就这么做,首先第一个,因为有条件,按照学到的,一个叫这个 query rap。

里边加上那个对象,实体类这个起个名字叫 rapper,这个一级分类叫外叫 rocker,等于扭上一个框就建 new 对象,然后完之后 rap 外里边设置它那个值,这个值就是写这个 parent 下划线 ID。

就是这个字段的名字,然后它的值就等于这个零,这是条件就设置了,然后设置完条件之后,下面咱是要查询的,但是查询注意是在 service 中,而要查的话,按照正常顺序 service,不要 map。

@Override

public List<OneSubject> getAll0neTwoSubject() {

//1 查询所有一级分类 parentid=0

QueryWrapper<EduSubject> wrapper0ne = new QueryWrapper<>() ;

wrapper0ne. eq( column: "parent_ _id", val: "0~):List<EduSubject> oneSubjectList = baseMapper. selectList (wrapperOne) :

//查询所有二级分类 parentid != 0

QueryWrapper<EduSubject> wrapperTwo = new QueryWrapper<> () :

wrapperTwo. ne( column: parent id", val: "0");List<EduSubject> twoSubjectList = baseMapper. selectList (wrapperTwo) :

//3封装级分类

//4封装二级分类

return null;

相关文章
|
机器学习/深度学习 算法
leetcode51N皇后刷题打卡
leetcode51N皇后刷题打卡
141 0
|
缓存 监控 关系型数据库
MySQL PXC 集群死锁分析案例
前不久一个系统死锁导致部分业务受到影响,今次补上详细的节点日志分析过程。
375 1
|
弹性计算 运维 应用服务中间件
ECS使用有感
ECS使用有感
|
前端开发 JavaScript 中间件
JavaScript错误处理完整指南(下)
JavaScript错误处理完整指南(下)
252 0
读取application-dev.properties的中文乱码【bug】
读取application-dev.properties的中文乱码【bug】
205 1
|
设计模式 前端开发 Java
Spring MVC 源码分析
Spring MVC 源码分析
688 0
java202303java学习笔记第二十五天-ArrayCopy拷贝数组
java202303java学习笔记第二十五天-ArrayCopy拷贝数组
146 0
|
编解码 人工智能 自然语言处理
只需3个样本一句话,AI就能定制照片级图像,谷歌在玩一种很新的扩散模型
只需3个样本一句话,AI就能定制照片级图像,谷歌在玩一种很新的扩散模型
199 0
|
存储 运维 Prometheus
神龙案例解读:与阿里云并肩作战,百家云三天扩容数十倍
2亿学生在线上课。疫情的肆虐,原本该回归各大校园的师生们涌入线上,突如其来的流量洪峰给在线教育行业带来了极大挑战。
2955 0
神龙案例解读:与阿里云并肩作战,百家云三天扩容数十倍