搭建3层架构实战 MySQL(一)|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 快速学习搭建3层架构实战 MySQL(一)

开发者学堂课程【Java Spring Boot 2.6.0开发实战-1024程序员节创造营公益课搭建3层架构实战 MySQL(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/903/detail/14340


搭建3层架构实战 MySQL(一)


目录:

一、三层架构(前后段分离示意图)

使用 Spring Data 简化 MySQL 数据访问

Spring Data 数据框架

SpringBoot2.6实战 MySQL 数据库

五、 实操代码展示

 

前言:

前后端分离主要考虑的是业务规模,业务规模主要包括复杂度,高并发等等。

 

一、三层架构(前后段分离示意图)

三层架构介绍:

架构就和我们平常穿衣服样,适合自己的才是最好的,图中的业务逻辑层有些许瑕疵,这跟英文翻译有点关系;严格来讲的话,接口层,业务逻辑层,数据访问层,每一层都有自己的职责,这与计算机编码规范相关。

学员们可以提前装好 mysql,MongoDB 等软件;当今,我们做 JAVA 开发 spring 为我们提供了 springdata 来优化开发流程。

如:体现在用户登录的增删改查,评论的增删改查等等;便于我们与数据库进行数据交互。

image.png

 

二,使用 Spring Data 简化 MySQL 数据访问

Spring Data 新特性

1.快速数据访问框架,提供统一的编程模型

2.强大的 repository 仓储和自定义对象映射 ORM 抽象

3.从 repository 方法名称派生动态查询接口

4.实现 Domain 域基类提供基本属性

5.支持透明审计日志(创建,最后更改)

6.可以自定义 repository 代码

7.通过 JavaConfig 和自定义 XML 命名空间轻松实现

Spring 集成

8.与 Spring MVC 控制器的高级集成

9.跨库持久性的实验支持

Spring Data 架构示意图;

image.png

Spring Data 核心模块:

1. Spring Data Commons -支持每个 Spring Data 模块的 Core Spring 概念。

2. Spring Data JDBC -对 JDBC 的 Spring Data 存储库支持。

3. Spring Data JDBC Ext -支持标准 JDBC 的数据库特定扩展,包括对 Oracle RAC快速连

接故障转移的支持,AQJMS 支持以及对使用高级数据类型的支持

4. Spring Data JPA - JPA 的 Spring Data 存储库支持。

5. Spring Data KeyValue -基于映射的存储库和 SPI,可轻松构建用于键值存储的Spring

Data 模块。

6. Spring Data LDAP -对 Spring LDA P 的 Spring Data 存储库支持

7. Spring Data MongoDB-基于 Spring 的对象文档支持和 MongoDB 的存储库。

8. Spring Data Redis - 从 Spring 应用程序轻松配置和访问 Redis。

9. Spring Data REST-将 Spring Data 存 储库导出为超媒体驱动的 RESTful 资源。

10.Spring Data Apache Cassandra-轻松配置和访问 Apache Cassandra 或大规模,高可用性

11.Spring Data Apache Geode -轻松配置和访问 Apache Geode,

12.Spring Data Apache Solr-为面向搜索的 Spring 应用程序轻松配置和访问 Apache Solr。

13.Spring Data Pivotal GemFire-轻松配置和访问 Pivotal GemFire

MySQL 数据库设计表:

image.png 

 

三,Spring Data(2.6)实战 MySQL

1.Spring JDBC and JdbcTem plate

2. Spring Data JPA and Hibernate framework

3.Spring Data 简化连接不同的数据库

4.使用 Spring Data JPA 框架连接 MySQL

5.当然也可以使用原始的 JDBC

6.默认底层使用 Hibernate 框架

7.支持 Repository 仓储模式

8.引入最重要的2个包

9. spring-boot-starter-data-jpa

10. mysql-connector-java

注意:第十个依赖(mysql-connector-java)非常的重要

 

四,Spring Data JPA 框架

Spring Data JPA 简化数据访问层的开发工作

基 于 Spring 和 JPA 构建存储库的完美支持

支持 Querydsl 谓词,从而支持类型安全的JPA查询.Domain 类的透明审核

分页支持,动态查询执行,集成自定义数据访问代码的能力

在引导时验证 @Query 带注释的查询

支持基于 XML 的实体映射

引入 @EnableJpaRepositories,基于 JavaConfig 的存储库配置。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
SQL 存储 关系型数据库
(一)全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构!
无论你是前端还是后端,只要是一个合格的开发者,对于MySQL这个名词相信都不陌生,MySQL逐渐成为了最受欢迎的关系型数据库,无论你是大前端,亦或是Java、Go、Python、C/C++、PHP....等这些语言的程序员,对于MySQL是必然要掌握的核心技术之一,程序员不能没有MySQL,就像西方不能失去耶路撒冷一般。
890 0
|
7月前
|
SQL 存储 缓存
认真学习MySQL的逻辑架构
认真学习MySQL的逻辑架构
83 0
|
存储 SQL 缓存
47 张图带你 MySQL 进阶!!!(一)
主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能
140 0
47 张图带你 MySQL 进阶!!!(一)
|
存储 SQL 缓存
MySQL 逻辑架构简介|学习笔记
快速学习 MySQL 逻辑架构简介
138 0
MySQL 逻辑架构简介|学习笔记
|
存储 监控 前端开发
MYSQL 常见应用架构经验分享(二)|学习笔记
快速学习 MYSQL 常见应用架构经验分享
MYSQL 常见应用架构经验分享(二)|学习笔记
|
存储 SQL 关系型数据库
47 张图带你 MySQL 进阶!!!(三)
主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能
86 0
47 张图带你 MySQL 进阶!!!(三)
|
SQL 存储 关系型数据库
47 张图带你 MySQL 进阶!!!(五)
主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能
98 0
47 张图带你 MySQL 进阶!!!(五)
|
存储 SQL 算法
47 张图带你 MySQL 进阶!!!(二)
主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能
77 0
47 张图带你 MySQL 进阶!!!(二)
|
存储 SQL 关系型数据库
47 张图带你 MySQL 进阶!!!(四)
主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能
94 0
47 张图带你 MySQL 进阶!!!(四)
|
SQL 关系型数据库 MySQL
138 张图带你 MySQL 入门(3)
138 张图带你 MySQL 入门(3)
85 0
138 张图带你 MySQL 入门(3)