在线教育day8

任务:

  1. 完善添加课程基本信息

    整合文本编辑器

  2. 课程大纲管理

    课程大纲的列表显示
    课程章节的增删改查
    课程小节的增删改查

  3. 课程信息的确认

    编写sql语句实现功能
    课程的最终发布


1. 课程简介添加文本编辑器

1. 复制文本编辑器组件
在这里插入图片描述
2. 课程大纲列表功能

和前面做的分类列表类似。涉及到2个表:小结和章节

  • 创建2个实体类:小结实体类 + 章节实体类,章节实体类中包含小结实体类。
  • controller
    在这里插入图片描述
  • service
    在这里插入图片描述
    在这里插入图片描述
    前端
    chapter.js调用后端接口
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

测试:
在这里插入图片描述
用element-ui插件改进前端。

在这里插入图片描述


在这里插入图片描述
需要实现2个接口:查询课程信息接口、修改课程信息接口

  • 修改EduCourseServiceImpl.java:
    在这里插入图片描述
    在这里插入图片描述
  • 修改前端:

在这里插入图片描述
在这里插入图片描述

  • 数据回显

获取到路由课程id;
根据路由id查询接口;
数据显示;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
原因:

回显时,一级id传过去了,只要id穿过去就可以回显,所以一级id被选中。但是二级id没传过去,所以回显不了,所以得重新查找:先查找所有一级列表,然后在所有一级列表中查找选中的一级id,如果有直接返回二级id,即children。
在这里插入图片描述
在这里插入图片描述
bug:添加信息后,到点击下一页,然后再返回上一页,刚才的信息存在,但是再次点击菜单按钮时,信息没有清空。

在这里插入图片描述
在这里插入图片描述


修改功能实现

  • 填好信息到下一步后,又返回上一页,这时数据已经存到数据库,接下来的操作是进行修改。
  • 后台接口已经实现,只需修改前台。
    在这里插入图片描述
    此时该按钮方法就要判断是增加还是修改了,写2个方法,一个添加,一个修改。再写一个saveOrupdate(),该方法里面判断是添加还是修改,然后调用上面2个方法之一。

添加时,无课程信息中无id值,而修改时,课程信息中有id值,可根据这个来判断是添加还是修改。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


2. 课程大纲的增删改查

在这里插入图片描述

添加章节

  • 引入章节element-ui组件;
  • 后端开发
    在这里插入图片描述
    关于删除章节
    在这里插入图片描述
    这里采取的方法是:章节下无小节就删除,否则禁止删除。
    在这里插入图片描述

前端添加章节功能
在这里插入图片描述
在这里插入图片描述

测试:
在这里插入图片描述
原因:courseId没有设置值。
在这里插入图片描述
bug:添加后二次添加章节,上次添加时的数据还在。
解决:每次点击添加章节触发事件时,在方法里面先清空数据。


修改章节

在这里插入图片描述

  1. 点击编辑,先根据id进行数据查找,并显示在页面:
    在这里插入图片描述
  2. 点击确定,修改数据。
    在这里插入图片描述
    在这里插入图片描述
    确定按钮有可能是添加也可能是修改,统一调用saveOrUpdate(),由该方法来确定调用哪个方法(根据是否有id进行操作)。
  • 删除章节

添加小节
删除小节
查找小节
修改小节(待完成)


3. 信息确认

在这里插入图片描述

Controller调用Service,Service调用Mapper,Mapper执行mapper.xml方法中对应的sql语句并返回结果。

  • mapper.xml中手写sql.
    在这里插入图片描述

  • Controller调用Service
    在这里插入图片描述

  • Service中调用mapper中的方法
    在这里插入图片描述

  • mapper.xml执行

这里涉及返回多个表的信息,所以设置一个类,包含这些表中需要返回的信息。

在这里插入图片描述
运行:
在这里插入图片描述
原因:
在这里插入图片描述
解决:

<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

properties文件中添加:
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述


(完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值