京淘学习架构流程
京淘项目整体架构图
数据库物理模型图的使用
安装数据库连接工具
- .使用SQLyog软件新建数据库的连接
2).导入jtdb.sql
3).导入完成以后,刷新,即可显示导入的相关表信息
通过sql命令完成导入
第一步:连接数据库
mysql -uroot -p
password :1234
第二步:设置编码
set names utf8/gbk;
第三步:导入sql文件
source d:jtdb.sql;
为什么需要物理模型图
原因:
因为通过数据库工具虽然可以展现表相关信息.但是无法直观的检查表与表之间的关联关系是什么.例如主外键关联等.
所以需要一种能够直观的展现表与表之间关系的工具.并且该工具应该具有扩展性.可以根据不同的数据库类型动态生成Sql语句. (SQL92标准: 结构及关键字)-----PowerDesinger
PowerDesinger介绍
PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与 .NET、WorkSpace、PowerBuilder、Java™、Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。此外,它支持60多种关系数据库管理系统(RDBMS)/版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件。
PowerDesinger安装
安装及汉化
安装步骤:一路下一步即可,如果需要更换位置,可以选择适当的安装位置
汉化:将以下的文件全部选中放在安装的PD的根目录下即可,有需要替换的文件,全部替换即可
新建第一个物理模型图
1).创建物理模型图.注意选择数据库类型.
如果没有要选怎的数据库类型,按照以下的操作即可完成
说明:通过手动的配置选择DBMS文件目录即可.
常见的表结构设计
业务需求:
1.选准角度 角度不同,结果不同.
2.设定主外键关系
一对一
业务说明: user表---------user_info (用户详情表)
特殊情况: 双向一对一 主键和外键在同一字段标识.
一对多
案例:
部门和用户的关系: 一对多.
用户和部门啥关系 :一对一.
多对多
案例:
角色和菜单的关系
一个角色对应多个菜单:一对多
一个菜单可以多个角色访问:一对多
多对多的实质就是双向的一对多
京淘项目表设计
SpringBoot案例加强
环境说明
JDK配置
要求: JDK1.8版本
版本检测
环境变量配置:
问题配置1:
JDK配置改正
将上述图片的蓝色圈内容删除掉
以及将箭头指向的红色圈改为%JAVA_HOME%in
STS中检测JDK配置
修改字符集
关闭校验
STS中配置maven环境
导入maven
导入settings.xml配置文件
检查settings配置文件
检查maven私服镜像文件. 检查是否正确.
阿里云私服镜像地址2:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
SpringBoot项目创建
入门案例创建
关于入门案例报错问题
报错说明:在pom.xml文件的第一行报错了.
解决方案: 在pom.xml文件中添加插件即可 之后将项目更新即可.
<properties>
<java.version>1.8</java.version>
<!-- 指定maven插件版本 -->
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<!-- 跳过测试类打包 -->
<skipTests>true</skipTests>
</properties>
关于SpringBoot项目配置说明
关于SpringBoot POM.xml文件说明
<!--利用parent标签, springBoot项目整合了其他框架的包及具体的配置都在parent中进行了定义。
定义了版本包的信息
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.jt</groupId>
<artifactId>springboot_demo_1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_demo_1</name>
<description>Demo project for Spring Boot</description>
<!-- 当前maven的配置信息 -->
<properties>
<java.version>1.8</java.version>
<!-- 指定maven插件的版本 -->
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<!-- 跳过测试类打包 -->
<skipTests>true</skipTests>
</properties>
<!-- 代表项目的依赖信息
Maven: jar包具有依赖性 A ~~~~ B ~~~~~C 导入A时BC都会自动导入.
-->
<dependencies>
<dependency>
<!-- 组ID:一般是公司域名的倒写 -->
<groupId>org.springframework.boot</groupId>
<!-- 项目名称 -->
<artifactId>spring-boot-starter-web</artifactId>
<!-- 项目版本号 -->
<!-- <version>父级中进行了定义</version> -->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- maven项目指定的插件配置 该插件主要负责maven项目的相关操作,打包 /test/clean/update等相关配置
注意事项 : 但凡是maven项目必须添加插件,否则将来项目必然出错
-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
SpringBoot项目如何做到开箱即用的?
SpringBoot特性: 开箱即用 引入少量(不引用)的配置,则可以实现项目的整合及使用.核心思想:约定大于配置
关于配置文件说明
关于pro文件说明
# pro配置文件语法说明
# 1.pro文件的结构是key-value结构
# 2.pro文件的值都是字符串结构. 无需添加引号""
# 3.key value之间使用=号连接.
# 4.springBoot程序中的配置文件 必须有application.pro/yml
server.port=8081
关于YML文件说明
# yml配置文件语法
## 1.key: value k-v结构使用:号(空格)连接
## 2.YML配置文件有层级关系.
## 3.YML配置文件注意缩进.
## 4.YML文件支持中文.内部编码是utf-8编码
server:
port: 8090
关于项目发布路径问题
缺省值 / 实际对应的是tomcat服务器中的ROOT
/ttt 项目发布路径对应如图所示