【在线教育】课程科目入门(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 课程科目入门

2.0 分析


image.png

2.1 环境搭建


2.1.1 数据库


CREATEDATABASEzx_edu_course;
USEzx_edu_course;
CREATETABLE`edu_subject`  (
`id`VARCHAR(32) NOTNULLPRIMARYKEYCOMMENT'课程科目ID',
`title`VARCHAR(10) NOTNULLCOMMENT'科目名称',
`parent_id`VARCHAR(32) NOTNULLDEFAULT'0'COMMENT'父ID',
`sort`INT(10)  NOTNULLDEFAULT0COMMENT'排序字段',
`gmt_create`DATETIMENOTNULLCOMMENT'创建时间',
`gmt_modified`DATETIMENOTNULLCOMMENT'更新时间') COMMENT='课程科目';
INSERTINTO`edu_subject`VALUES ('1', '云计算', '0', 0, '2020-06-26 09:41:21', '2020-02-20 23:25:58');
INSERTINTO`edu_subject`VALUES ('2', '系统/运维', '0', 0, '2020-02-20 23:29:59', '2020-02-20 23:29:59');
INSERTINTO`edu_subject`VALUES ('3', '数据库', '0', 0, '2020-02-20 23:30:13', '2020-02-20 23:30:13');
INSERTINTO`edu_subject`VALUES ('4', '服务器', '0', 0, '2020-02-20 23:30:19', '2020-02-20 23:30:19');
INSERTINTO`edu_subject`VALUES ('5', 'MySQL', '3', 1, '2020-02-20 23:30:13', '2020-02-20 23:30:13');
INSERTINTO`edu_subject`VALUES ('6', 'Oracle', '3', 2, '2020-02-20 23:30:13', '2020-02-20 23:30:13');
INSERTINTO`edu_subject`VALUES ('7', 'Tomcat', '4', 1, '2020-02-20 23:30:13', '2020-02-20 23:30:13');
INSERTINTO`edu_subject`VALUES ('8', 'Nginx ', '4', 2, '2020-02-20 23:30:13', '2020-02-20 23:30:13');
INSERTINTO`edu_subject`VALUES ('9', 'MySQL优化', '5', 1, '2020-02-20 23:30:13', '2020-02-20 23:30:13');

2.1.2 后端:环境


  • 项目名:zx-service-course
  • pom文件
<dependencies><!--web起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--nacos客户端--><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></dependency><!--nacos服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--swagger2--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId></dependency><!--feign远程调用--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!--mybatisplus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis.plus.version}</version></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--自定义项目--><dependency><groupId>com.czxy.zx</groupId><artifactId>zx-common31</artifactId></dependency><dependency><groupId>com.czxy.zx</groupId><artifactId>zx-domain31</artifactId></dependency><!--redis启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--JavaMail启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><!--MQ启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><!--fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><!--开发者工具--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency></dependencies>yml文件#服务端口号server:
port: 9020#服务名spring:
application:
name: course-servicedatasource:
driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/zx_edu_course?useUnicode=true&characterEncoding=utf8username: rootpassword: 1234druid:    #druid连接池配置initial-size: 1#初始化连接池大小min-idle: 1#最小连接数max-active: 20#最大连接数test-on-borrow: true#获取连接时候验证,会影响性能cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848#nacos服务地址redis:
database: 0#数据库索引,取值0-15,表示16个库可选择host: 127.0.0.1#服务器地址port: 6379#服务器连接端口号mail:
host: smtp.126.com#发送邮件服务器username: itcast_lt@126.com#账号password: 1qaz2wsx#密码default-encoding: UTF-8#默认编码时rabbitmq:
host: 127.0.0.1port: 5672username: guestpassowrd: guestvirtualHost: /devtools:
restart:
enabled: true#设置开启热部署additional-paths: src/main/java#重启目录exclude: WEB-INF/**freemarker:cache: false    #页面不加载缓存,修改即时生效#开启log4j打印SQL语句logging:level:com:czxy:mapper: debug# mp日志打印mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl启动类package com.czxy.zx;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.openfeign.EnableFeignClients;/*** @author 桐叔* @email liangtong@itcast.cn*/@SpringBootApplication@EnableDiscoveryClient@EnableFeignClientspublicclassCourseServiceApplication {
publicstaticvoidmain(String[] args) {
SpringApplication.run(CourseServiceApplication.class,args);
    }
}

image.png

2.1.3 后端:基本模块


创建JavaBeanpackagecom.czxy.zx.domain;
importcom.baomidou.mybatisplus.annotation.IdType;
importcom.baomidou.mybatisplus.annotation.TableField;
importcom.baomidou.mybatisplus.annotation.TableId;
importcom.baomidou.mybatisplus.annotation.TableName;
importcom.fasterxml.jackson.annotation.JsonFormat;
importlombok.Data;
importorg.springframework.format.annotation.DateTimeFormat;
importjava.util.ArrayList;
importjava.util.Date;
importjava.util.List;
/*** 课程科目(EduSubject)表实体类** @author 桐叔*/@Data@TableName("edu_subject")
publicclassEduSubject{
@TableId(type=IdType.ASSIGN_UUID)
//课程科目IDprivateStringid;
//科目名称privateStringtitle;
//父IDprivateStringparentId;
//排序字段privateIntegersort;
//创建时间@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
privateDategmtCreate;
//更新时间@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
privateDategmtModified;
@TableField(exist=false)
@JsonInclude(JsonInclude.Include.NON_EMPTY)     //生成json数据,不包含空元素privateList<EduSubject>children=newArrayList<>();
}

image.png

packagecom.czxy.zx.course.mapper;
importcom.baomidou.mybatisplus.core.mapper.BaseMapper;
importcom.czxy.zx.domain.EduSubject;
importorg.apache.ibatis.annotations.Mapper;
/*** @author 桐叔* @email liangtong@itcast.cn*/@MapperpublicinterfaceEduSubjectMapperextendsBaseMapper<EduSubject> {
}

image.png

接口packagecom.czxy.zx.course.service;
importcom.baomidou.mybatisplus.extension.service.IService;
importcom.czxy.zx.domain.EduSubject;
/*** @author 桐叔* @email liangtong@itcast.cn*/publicinterfaceEduSubjectServiceextendsIService<EduSubject> {
}
实现类packagecom.czxy.zx.course.service.impl;
importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
importcom.czxy.zx.course.mapper.EduSubjectMapper;
importcom.czxy.zx.course.service.EduSubjectService;
importcom.czxy.zx.domain.EduSubject;
importorg.springframework.stereotype.Service;
importorg.springframework.transaction.annotation.Transactional;
/*** @author 桐叔* @email liangtong@itcast.cn*/@Service@TransactionalpublicclassEduSubjectServiceImplextendsServiceImpl<EduSubjectMapper, EduSubject>implementsEduSubjectService {
}

image.png

packagecom.czxy.zx.course.controller;
importcom.czxy.zx.course.service.EduSubjectService;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
importjavax.annotation.Resource;
/*** @author 桐叔* @email liangtong@itcast.cn*/@RestController@RequestMapping("/subject")
publicclassEduSubjectController {
@ResourceprivateEduSubjectServiceeduSubjectService;
}

image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
机器学习/深度学习 人工智能 安全
IT专业报考指南:选择正确的学校和课程
随着高考的技术,男怕入错行,女怕嫁错郎,专业的选择也是至关重要的,当准备报考IT专业时,选择适合自己的学校和课程是至关重要的一步。随着信息技术的快速发展和应用范围的不断扩大,IT行业的就业前景变得更加广阔。然而,在众多学校和课程中做出明智的选择并不容易。这就是为什么一个全面的报考指南对于帮助你确定正确的学校和课程至关重要。
89 0
|
XML 存储 前端开发
谷粒学院——Day08【课程发布-课程大纲和课程发布】
谷粒学院——Day08【课程发布-课程大纲和课程发布】
158 0
谷粒学院——Day08【课程发布-课程大纲和课程发布】
|
JavaScript 前端开发 Java
谷粒学院——Day07【课程发布-添加课程信息】
谷粒学院——Day07【课程发布-添加课程信息】
92 0
谷粒学院——Day07【课程发布-添加课程信息】
|
前端开发 Java 编译器
VIP创新项目1课程总结2021-2022学年第1学期(1)
文章目录 VIP创新项目1课程总结2021-2022学年第1学期 1. Java基础 1.1 Java代码是如何执行的 1.2Java打包案例 1.带package的jar包——直接输出hello
VIP创新项目1课程总结2021-2022学年第1学期(1)
|
Dubbo Java 应用服务中间件
VIP创新项目1课程总结2021-2022学年第1学期(3)
文章目录 VIP创新项目1课程总结2021-2022学年第1学期 1. Java基础 1.1 Java代码是如何执行的 1.2Java打包案例 1.带package的jar包——直接输出hello
VIP创新项目1课程总结2021-2022学年第1学期(3)
|
SQL 分布式计算 资源调度
Hadoop大数据技术课程总结2021-2022学年第1学期(中)
文章目录 Hadoop大数据技术课程总结 1.大数据概述 1.1大数据时代的4V 1.2大数据时代的三次浪潮
Hadoop大数据技术课程总结2021-2022学年第1学期(中)
|
SQL 存储 分布式计算
Hadoop大数据技术课程总结2021-2022学年第1学期(下)
文章目录 Hadoop大数据技术课程总结 1.大数据概述 1.1大数据时代的4V 1.2大数据时代的三次浪潮
Hadoop大数据技术课程总结2021-2022学年第1学期(下)
|
存储 SQL 分布式计算
Hadoop大数据技术课程总结2021-2022学年第1学期(上)
文章目录 Hadoop大数据技术课程总结 1.大数据概述 1.1大数据时代的4V 1.2大数据时代的三次浪潮
Hadoop大数据技术课程总结2021-2022学年第1学期(上)
|
前端开发 Java 应用服务中间件
基于javaweb的高校课程在线考试管理系统
基于javaweb的高校课程在线考试管理系统
208 0
基于javaweb的高校课程在线考试管理系统
下一篇
无影云桌面