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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习搭建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 的存储库配置。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
55
分享
相关文章
分享188个JS图片效果JS代码,总有一款适合你
分享188个JS图片效果JS代码,总有一款适合你
152 1
LightGBM中的特征选择与重要性评估
LightGBM中的特征选择与重要性评估【2月更文挑战第1天】
2327 0
|
4月前
|
MBTI十六型人格职业性格测试源码完整版
MBTI十六型人格职业性格测试源码完整版
390 12
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
641 14
基于大语言模型的 FireRedTTS 语音合成系统
【10月更文挑战第3天】近年来,随着人工智能技术的发展,基于大语言模型的语音合成系统备受关注。FireRedTTS 系统由郭浩瀚等人提出,旨在满足多样化的语音合成需求。该系统分为数据处理、基础系统和下游应用三部分,通过高质量数据集和语义感知架构生成高保真语音信号。其应用场景包括配音和聊天机器人,能够实现零样本语音克隆和可控类人语音合成,提供自然且个性化的交互体验。然而,系统仍面临计算资源和完全自然语音合成等方面的挑战。[了解更多](https://arxiv.org/abs/2409.03283)
876 3
通俗易懂理解三次握手、四次挥手(TCP)
这篇文章用通俗的语言解释了TCP协议中的三次握手和四次挥手过程,通过比喻和详细的状态变化描述,帮助读者理解建立和断开连接的原理和原因。
通俗易懂理解三次握手、四次挥手(TCP)
经济订货量(Economic Order Quantity,简称EOQ)
经济订货量(Economic Order Quantity,简称EOQ)
基于springboot+vue.js的智能消费记账系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的智能消费记账系统附带文章和源代码设计说明文档ppt
129 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等