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

简介: 快速学习搭建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 的存储库配置。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 前端开发 安全
GET 和 POST 请求:理解它们之间的区别和适用场景
GET 和 POST 请求:理解它们之间的区别和适用场景
|
9月前
|
SQL 缓存 PHP
MBTI十六型人格职业性格测试源码完整版
MBTI十六型人格职业性格测试源码完整版
892 12
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
1519 14
|
搜索推荐 机器人 数据处理
基于大语言模型的 FireRedTTS 语音合成系统
【10月更文挑战第3天】近年来,随着人工智能技术的发展,基于大语言模型的语音合成系统备受关注。FireRedTTS 系统由郭浩瀚等人提出,旨在满足多样化的语音合成需求。该系统分为数据处理、基础系统和下游应用三部分,通过高质量数据集和语义感知架构生成高保真语音信号。其应用场景包括配音和聊天机器人,能够实现零样本语音克隆和可控类人语音合成,提供自然且个性化的交互体验。然而,系统仍面临计算资源和完全自然语音合成等方面的挑战。[了解更多](https://arxiv.org/abs/2409.03283)
1049 3
|
Java 编译器 Linux
【多线程】锁策略、CAS、Synchronized
锁策略, cas 和 synchronized 优化过程
|
网络协议
通俗易懂理解三次握手、四次挥手(TCP)
这篇文章用通俗的语言解释了TCP协议中的三次握手和四次挥手过程,通过比喻和详细的状态变化描述,帮助读者理解建立和断开连接的原理和原因。
通俗易懂理解三次握手、四次挥手(TCP)
|
JavaScript Java 测试技术
基于springboot+vue.js的智能消费记账系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的智能消费记账系统附带文章和源代码设计说明文档ppt
213 2
|
SQL 关系型数据库 MySQL
【MySQL】脏读、不可重复读、幻读介绍及代码解释
【MySQL】脏读、不可重复读、幻读介绍及代码解释
计算机网络各章节总结思维导图(物理层、数据链路层、网络层、传输层)
计算机网络各章节总结思维导图(物理层、数据链路层、网络层、传输层)
2480 0
|
存储 网络协议 安全
UDP通信机制详解
UDP通信机制详解
1252 0