· 引用 :mall项目的学习文档 https://mp.weixin.qq.com/s/izwkCoq-oeb_-XiTldLhOg
学习开源项目的第一步,一般都是要把开源项目中运用的技术学习一遍,这样可以为你搭建项目和阅读项目源码打下扎实的基础。其实在我们学习开源项目的时候,最主要的还是学习项目中所用到的技术,业务反而是次要的。因为我们做不同项目的时候,业务都会有所不同,反而使用到的技术却相差不多。
一、SpringBoot入门
SpringBoot的特性简化了Spring应用程序的开发。
三个核心特性:
·自动配置:SpringBoot自动提供相关配置,Spring应用程序常见的应用功能
·起步依赖:告诉它需要什么功能,SpringBoot引入对应的库,无序考虑该功能依赖库的版本问题
·Actuator:可以深入了解SpringBoot应用程序内部情况:应用程序的状态信息等
二、mysql命令整理
1)数据定义语句(DDL)
1.数据库操作
登录数据库 : mysql -uroot -proot
创建数据库: create database test
查看所有数据库 show databases
选择数据库并使用 use test
查看所有数据库 show tables
删除数据库 drop database test
2.表操作
创建表
create table emp(ename varchar(10),hiredate date,sal decimal(10,2))
create table dept (deptno int(2),deptname varchar(10))
查看表定义
desc emp
产看表定义(详细) show create table emp \G
删除表 drop table emp
修改表 alter table emp modify ename varchar(20)
添加表字段 alter table emp add column age int(3)
删除表字段 alter table emp drop column age
字段改名 alter table emp change age age1 int(4)
修改表明 alter table emp rename emp1
2)数据操纵语句(DML)
插入记录
指定名称插入
insert into emp(ename,hiredate,sal,deptno)values('zhangsan','2000',1)
不指定名称插入 insert into emp values ('lisi','2018-01-01','2000',1)
批量插入 insert into dept values(1,'dept1'),(2,'dept2')
修改记录
update emp set sal ='4000',deptno=2 where ename = 'zhangsan'
三、Elasticsearch
基于Lucence的搜索服务器,提供了分布式的全文搜索引擎,基于restful web接口
实现实时搜索,稳定可靠快速的特点。
常用功能:
集群状态查看
索引操作
类型操作
文档操作
数据搜索
四、MongoDB
关系型数据库是主流,面对某些需求的时候,非关系型数据库作为补充
主流NoSQL很有必要,MongoDB是功能丰富的Nosql数据库
基于分布式文件存储的数据库,c++编写,web应用提供可扩展的高性能数据存储解决方案
一个介于关系型和非关系型数据库之间的产品,Nosql中功能最丰富,最像关系型数据库
下载相关客户端工具:robo3t.exe
与关系型数据库的对比
SQL概念 | MongoDB概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
数据库操作、集合操作、文档操作
五、MinIO
基于Go语言的高性能对象存储服务,非常使用与存储大容量非结构化的数据:图片、视频、日志文件、备份数据和容器/虚拟化镜像等。
对象存储服务用来存储各类文件,mall项目图片存储采用OSS
常用功能:
文件上传和使用(通过使用MinIO网页端完成文件上传和下载)
也有 客户端MinIO Client(简称mc)
常用命令和Linux中有很多类似之处