开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):搭建项目环境(准备工作)】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11280
搭建项目环境(准备工作)
目录:
一、创建数据库,创建讲师数据库表
二、创建项目结构
三、创建项目结构
一、创建数据库,创建讲师数据库表
CREATE TABLE、edu_teacher
'id' char(19) NOT NULL COMMENT 讲师ID
“name、varchar(20) NOT NULL COMMENT 讲师姓名'intro’varchar(500) NOT NULL DEFAULT COMMENT讲师简介
career’varchar(500) DEFAULT NULL COMMENT,讲师资历,一句话说明讲师
level int(10) unsigned NOT NULL COMMENT 头衔1高级讲师2首席讲师
avatar’varchar (255) DEFAULT NULL COMMENT 讲师头像
'sort’ int(10) unsigned NOT NULL DEFAULT'0,COMMENT'排序,
is_deleted' tinyint(1) unsigned NOT NULL DEFAULT'0'COMMENT'逻辑删除1(true)已删除,0(false)未删.
gmt_create、datetime NOT NULL COMMENT'创建时间'
gmt_ modified' datetime NOT NULL COMMENT '更新时间'
PRIMARY KEY (id')
UNIQUEKEY、uk_name(、name、)
ENGINE=InnODB DEFAULT CHARSET=utf8mb4 COMMENT= '讲师" ;
二、数据库设计规约
1、库名与应用名称尽量一致
2、表名、字段名必须使用小写字母或数字,禁止出现数字开头
3.表名不使用复数名词
4、表的命名最好是加上“业务名称表的作用”。如, edu_teacher
5、表必备三字段:id,gmt_create,gmt_modified
说明:
其中 id 必为主键,类型为bigint unsigned、单表时自增、步长为1
(如果使用分库分表集群部署,则id类型为verchar ,非自增,业务中使用分布式id生成器)
amt create, amt modified 的类型均为 datetime 类型,前者现在时表示主动创建,后者过去分词表示被动更新。
6、单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。
说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。
7、表达是与否概念的字段,必须使用 is.xox 的方式命名,数据类型是 unsigned tinyint(1表示是,0表示否)
说明:任何字段如果出现非负数,必须是 unsigned
三、创建项目结构
1.模块说明
guli-parent:在线教学根目录(父工程),管理四个子模块:
canal-client:canal数据库表同步模块(统计同步数据)
common:公共模块父节点
common-util:工具类模块,所有模块都可以依赖于它
service- base:service服务的base包,包含service服务的公共配置类,所有service模块依赖于它spring-security:认证与授权模块,需要认证授权的service服务依赖于它
infrastructure:基础服务模块父节点
api-gateway:api 网关服务
service:api接口服务父节点
service-acl:用户权限管理 api 接口服务《用户管理、角色管理和权限管理等)
service-cms:cmsapi接口服务
service-edu:教学相关 api 接口服务
service-msm:短信 api 接口服务
service-order:订单相关 api 接口服务
service-0ss:阿里云 OSS api 接口服务
service statistics:统计报表 api 接口服务
service-ucenter:会员 api 接口服务
service-vod:视频点播 api 接口服务