学成在线Day04-项目实战部分

本文详细描述了在IT教育平台中如何操作课程计划,包括删除、添加、排序,以及师资管理(如教师查询、添加、删除)的SQL语句实现,强调了多表操作和使用MyBatis-Plus进行CRUD操作的方法。
摘要由CSDN通过智能技术生成

感谢黑马程序员能提供的学成在线的教学视频

image-20240412084117149

删除课程计划

课程计划添加成功,如果课程还没有提交时可以删除课程计划。

image-20240214185143784

  • 删除第一级别的章时要求章下边没有小节方可删除。
  • 删除第二级别的小节的同时需要将其它关联的视频信息也删除。
  • 删除课程计划需要传输课程计划的id。

涉及多表删除需要开启事务

可以从IDEA数据库直接复制行的sql语句

image-20240214193321392

修改圈中部分即可

课程计划排序

image-20240214200241048

  • 上移表示将课程计划向上移动。
  • 下移表示将课程计划向下移动。
  • 向上移动表示和上边的课程计划交换位置,将两个课程计划的排序字段值交换。
  • 向下移动表示和下边的课程计划交换位置,将两个课程计划的排序字段值交换。

可以使用SQl语句一次完成

<!--根据方向和ID修改顺序-->
    <update id="updateOrderByDirectionAndId">
        update teachplan T1,					# 先设置三个表用来更新和保存状态
            teachplan T2,
            <if test="direction != null and direction == 'movedown'.toString()">
                (SELECT id,orderby
                 FROM teachplan T3
                 WHERE T3.course_id = #{teachplan.courseId}						
                 AND T3.orderby > #{teachplan.orderby}					# 找到第一个比当前顺序大的行,和他的orderby进行就交换
                 AND T3.parentid = #{teachplan.parentid}
                 ORDER BY T3.orderby
                 limit 1) T4
            </if>
            <if test="direction != null and direction == 'moveup'.toString()">
                (SELECT id,orderby
                 FROM teachplan T3
                 WHERE T3.course_id = #{teachplan.courseId}
                 AND T3.orderby &lt; #{teachplan.orderby}				# 找到第一个比当前顺序小的行,和他的orderby进行就交换
                 AND T3.parentid = #{teachplan.parentid}
                 ORDER BY T3.orderby desc								# 注意此时是逆序
                 limit 1) T4
            </if>
        SET T2.orderby = T1.orderby,
            T1.orderby = T2.orderby
        where T1.parentid = T2.parentid
          AND T1.course_id = T2.course_id
          AND T1.parentid = #{teachplan.parentid}
          AND T1.course_id = #{teachplan.courseId}
          AND T1.orderby = #{teachplan.orderby}
          AND T2.orderby = T4.orderby
          AND T1.id != T4.id;											# 防止其再次更新自己,确保只更新目标的两行
    </update>

师资管理

课程教师查询

调用mybatis-plus接口即可

添加教师

由于需要插入后返回数据,我们将Controller的返回类设置为CourseTeacher

当插入完成后,id字段会自动为插入实体类赋值

可以直接返回

删除教师和修改教师

基础增删查改

课程删除

涉及到的表比较多,需要细心处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值