前后端分离项目知识汇总(整合课程分类)

简介: 前后端分离项目知识汇总(整合课程分类)

整合课程分类


实现思路


1、图解

树形控件考到前端页面,按需求更改

image.png

2、实现Excel表格数据导入数据库功能

前端找一个上传的组件

后端使用前面学的easyexcel功能来实现

3、树状图显示数据功能

前端找一个树状图组件

后端返回上传的表格数据课程分类集合给前端,传递给组件自动遍历


表格数据导入数据库


这个功能用前面学的easyExcel来实现

1、添加依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.1.6</version>
</dependency>

2、创建excel对应实体类对象

image.png

3、通过代码生成器生成课程表代码

image.png

==4、创建回调监听器==

image.png

image.png

5、自定义接口方法

image.png

==实现类完成读取功能==

image.png

6、控制类完成调用

image.png

7、swagger完成测试

image.png

image.png


树状图显示数据


树状图由element-ui获取

1、树状图前端代码结构说明

image.png

==2、设计思路==

给el-tree返回一个集合对象就可以实现遍历

这个集合对象格式是,{一级分类对象,二级分类对象数组[],一级分类对象,二级分类对象数组[].......}

对应到实体类中就是这个形式

image.png

==3、返回集合对象==

在数据库中查询通过表格上传的数据,返回为集合对象

详细的注释通过图片的形式展现出来了,仔细观察理解即可

image.png

源码也放下来,供大家理解

@Service
public class EduSubjectServiceImpl extends ServiceImpl<EduSubjectMapper, EduSubject> implements EduSubjectService {
    //添加课程分类
    @Override
    public void saveSubject(MultipartFile file, EduSubjectService subjectService) {
        try {
            //文件输入流
            InputStream in = file.getInputStream();
            //调用方法进行读取
            EasyExcel.read(in, SubjectData.class, new SubjectExcelListener(subjectService)).sheet().doRead();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Override
    public List<OneSubject> getAllOneTwoSubject() {
        //查询所有一级分类 parentid=0
        QueryWrapper<EduSubject> wrapperOne = new QueryWrapper<>();
        wrapperOne.eq("parent_id", "0");
        List<EduSubject> oneSubjectList = baseMapper.selectList(wrapperOne);
//        this.list()也可以通过这种方式调用查询。
        //查询所有二级分类 parentid!=0
        QueryWrapper<EduSubject> wrapperTwo = new QueryWrapper<>();
        wrapperOne.ne("parent_id", "0");
        List<EduSubject> twoSubjectList = baseMapper.selectList(wrapperTwo);
        //创建list集合,用于存放最终封装的数据
        List<OneSubject> finalSubjectList = new ArrayList<>();
        //封装一级分类
        //查询出来所有的一级分类list集合遍历,得到每一级分类对象,获得每个一级分类对象值
        //封装到要求的list集合里面
        for (int i = 0; i < oneSubjectList.size(); i++) {
            EduSubject eduSubject = oneSubjectList.get(i);
            OneSubject oneSubject = new OneSubject();
//            oneSubject.setId(eduSubject.getId());
//            oneSubject.setTitle(eduSubject.getTitle());
            //把eduSubject值复制到对应的oneSubject对象里面,两个对象里面的属性相同对应的的自动赋值
            BeanUtils.copyProperties(eduSubject, oneSubject);
            //在一级分类循环遍历查询所有的二级分类
            //创建list集合封装每个一级分类的二级分类
            List<TwoSubject> twoFinalSubjectList = new ArrayList<>();
            //遍历二级分类list集合
            for (int j = 0; j < twoSubjectList.size(); j++) {
                EduSubject tSubject = twoSubjectList.get(j);
                //如果二级分类的parentid和一级分类的id一样,就把它加入到一级分类
                if (tSubject.getParentId().equals(eduSubject.getId())) {
                    TwoSubject twoSubject = new TwoSubject();
                    BeanUtils.copyProperties(tSubject, twoSubject);
                    twoFinalSubjectList.add(twoSubject);
                }
            }
            //把一级下面所有的二级分类放到一级分类里面
            oneSubject.setChildren(twoFinalSubjectList);
            finalSubjectList.add(oneSubject);
        }
        return finalSubjectList;
    }
}

4、控制类调用接口返回集合

image.png

5、Swagger测试

image.png

==加黑的小标题就是前后端整合的过程==

1、定义路由、跳转页面

image.png

2、定义API

==定义的API就是后端写好的接口==

image.png

3、添加上传组件

element-ui找

image.png

组件参数说明

template部分

image.png

image.png

数据部分

image.png

4、测试

image.png

image.png


树形数据与懒加载


image.png



相关文章
|
9月前
|
JavaScript Java 关系型数据库
平面设计课程在线学习|基于SSM+vue的平面设计课程在线学习平台系统的设计与实现(源码+数据库+文档)
平面设计课程在线学习|基于SSM+vue的平面设计课程在线学习平台系统的设计与实现(源码+数据库+文档)
93 0
|
9月前
|
JavaScript Java 关系型数据库
高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)
高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)
135 0
|
9月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的计算机公共基础课程mooc教学平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的计算机公共基础课程mooc教学平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
前端开发 JavaScript Java
图书管理系统的开发与设计(论文+源码)_kaic
随着科学技术的快速发展,尤其是计算机技术的突飞猛进,计算机技术普及到日常生活、学习生活的方方面面。由此想到学校的相对于传统的图书管理系统,帮助到学校的读者和学校的图书管理员的系统。提升图书管工作人员的效率,满足学校学生对于图书管理系统的需求,进而构思相关系统。 本文阐述了开发本校图书馆管理系统的最基本设计方法,阐述了应用系统的设计观念。对部分功能进行分析和设计。本图书管理系统,能够帮助本校学生和管理员通过线上直接对接。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。系统设计主要包括首页管理、读者管理、图书分类管理、图书信息管理、图书归还管理、图书借阅管理、超期提醒管理、留言板
|
前端开发
前端学习笔记202303学习笔记第五天-梳理项目的基本结构1
前端学习笔记202303学习笔记第五天-梳理项目的基本结构1
80 0
|
前端开发
前端学习笔记202304学习笔记第七天-学习目标
前端学习笔记202304学习笔记第七天-学习目标
77 0
|
前端开发 JavaScript API
前后端分离项目知识汇总(整合课程发布)
前后端分离项目知识汇总(整合课程发布)
103 0
|
JSON 前端开发 easyexcel
谷粒学苑项目实战(十二):课程分类管理模块搭建
谷粒学苑项目实战(十二):课程分类管理模块搭建
210 0
谷粒学苑项目实战(十二):课程分类管理模块搭建
|
前端开发 JavaScript Java
基于SpringBoot打造在线教育系统(5)-- 课程分类模块
左侧我们需要做一个菜单,还是用elementUI,container容器有一个aside可以用,稍微改一下代码:
151 0
|
前端开发 JavaScript API
课程分类管理-添加分类前端 | 学习笔记
快速学习课程分类管理-添加分类前端
课程分类管理-添加分类前端 | 学习笔记