开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(四)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Spring Boot 2.5.x开发实战课时4——Spring Boot2.5使用Spring Data链接MySQL数据库,Spring Boot 2.5.x开发实战是学习Java Spring Cloud微服务架构的必经之路。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦

哈喽各位同学们大家好呀,今天小编为大家分享开发者学院中课程Spring Boot2.5使用Spring Data链接MySQL数据库”干货总结哦~Spring Boot 2.5.x开发实战可Java中级工程师必备课程;

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Boot 2.5.x开发实战

课程地址:https://developer.aliyun.com/learning/course/71

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Spring Boot2.5使用Spring Data链接MySQL数据


一、Spring Data简化MySQL数据访问 

(一)Spring Data新特性 

SpringSpring boot之后再应用开发微服务架构以及数据链接都提供了专门的框架大大简化发工作,提升开发的效率。 

Spring Data for MySQL有很多技术可以用,比如JDBCJDBC TemplateRM框架或者Hibernate My Business 

Spring Data整合框架简化整个框架的配置这里面有个非常重要的Spring Data的子集叫JPA实际就是加上了一个持久化的API它其中有一块针对MySQL封装底层Hibernate,也可以切换成My Business 

  • Spring Data新特性 

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

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

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

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

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

6. 可以自定义repository代码  

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

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

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

 

Spring Data针对各个数据源提供了统一的编程模型,其中有一个设计模式叫仓储模式,仓储模式在数据访问层又做了一层封装主要针对各种不同的数据库提供统一的操作,有些默认接口直接生成不用再进行配置了。这个操作也可以结合其他的分层模型来进行整合。 

 

(二)Spring Data架构 

Spring Data主要是做各种不同的数据的对接工作有传统的关系型数据库也有非关系型数据库等等都可以和它进行集成。 

image.png 

Spring Data架构主要分成了关系型数据库和关系型数据库。JPA底层使用JDBC 

本次主要对关系型据库的一系列操作后面对于访问Redis以及MongoDB后续课程也有对应的实战案例。  

(三)Spring Data核心模块 

1. Spring Data Commons - 支持每个Spring Data模块的Core Spring概念。2. Spring Data JDBC - JDBCSpring Data存储库支持。3. Spring Data JDBC Ext - 支持标准JDBC的数据库特定扩展,包括对Oracle RAC快速连接故障转移的支持,AQ JMS支持以及对使用高级数据类型的支持。4. Spring Data JPA - JPASpring Data存储库支持。5. Spring Data KeyValue - 基于映射的存储库和SPI,可轻松构建用于键值存储的Spring Data模块。6. Spring Data LDAP - Spring LDAPSpring Data存储库支持。7. Spring Data MongoDB - 基于Spring的对象文档支持和MongoDB的存储库。8. Spring Data Redis - Spring应用程序轻松配置和访问Redis9. 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 Solr13. Spring Data Pivotal GemFire - 轻松配置和访问Pivotal GemFire 

 

(四)Spring Boot2.5实战MySQL 

1. Spring JDBC and JdbcTemplate  

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 

JPA默认一个RM框架叫Hibernate框架。我们在对接的时候,需要大家去引几个包作为Spring boot严格来说是有个傻瓜式编程,要简化配置。但是我们手动引入一个叫JDBC的包,然后再去配置数据库链接参数数据库地址以及用户密码这些参数还是要自己设置 

对于初始化依赖,可以使用starter-data-jpa这样的一个依赖包。这里面还涉及到JdbcTemplate,这是Spring提供了一个非常重要的数据库操作的接口 

 

(五)Spring Data JPA框架 

Spring Data JPA简化数据访问层的开发工作•基于SpringJPA构建存储库的完美支持•支持Querydsl谓词,从而支持类型安全的JPA查询Domain类的透明审核•分页支持,动态查询执行,集成自定义数据访问代码的能力•在引导时验证@Query带注释的查询•支持基于XML的实体映射•引入@EnableJpaRepositories,基于JavaConfig的存储库配置。 

 

定义接口的时候,特殊的查询可能需要编写一些特殊的语句,下面来看一下具体的一个实现。 

image.png 

加入数据库访问链接,这里面有个spring data starterJPA加进来以后我们从数据库底层手动引一下MySQL-connector里面devtools主要做自动化调试方便进行程序的开发配置。改完代码以后不用重启,会自动重新加载变化的数据配置文件。 

Database platform在这里面指的是hibernateModel在这里面指是实体和数据库直接对应相比之前Spring data对应的数据源要配置一下。代码中有几个重要的参数分别是urlusername以及password 

Spring Data Jpa是链接MySQL数据库重要的组件,在配置的时候要注意底层的MySQL connection 

image.png 

 

配置MySQL参数 

image.png 

 

POM配置 

image.png 

 

仓储Repository泛型接口 

image.png 

 

4课: 

Java高级面试题  

1. Spring Data JPA CRUD刪改查 REST API  

2. 如何基于Spring Boot+Spring Data实现登录注册?  

3. Spring Data为什么只使用接口声明就可以访问数据库?  

4. 默认Spring Data JPA 使用Hibernate,如何配置连接池? 

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
设计模式 架构师 Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十一)
Spring Cloud微服务架构设计与开发实战课时3.10—Spring Cloud Gateway实战接入Nacos服务 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十一)
|
设计模式 Dubbo 架构师
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(一)
Spring Cloud微服务架构设计与开发实战课时1.1—Java Spring Cloud微服务实战 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(一)
|
监控 前端开发 物联网
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(四)
Spring Cloud微服务架构设计与开发实战课时1.4—微服务架构的典型应用场景 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(四)
|
监控 JavaScript 前端开发
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十一)
Spring Cloud微服务架构设计与开发实战课时2.10—Spring Cloud微服务集群Monitor监控中心 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十一)
|
敏捷开发 运维 监控
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)
Spring Cloud微服务架构设计与开发实战课时1.3—微服务架构Microservice的优缺点 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)
|
消息中间件 前端开发 网络协议
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(六)
Spring Cloud微服务架构设计与开发实战课时1.6—微服务架构常用RPC协议 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(六)
|
设计模式 前端开发 Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)
Spring Cloud微服务架 Spring Cloud微服务架构设计与开发实战课时1.9—微服务架构中的经典设计模式 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)
|
架构师 Cloud Native Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十)
Spring Cloud微服务架构设计与开发实战课时3.9—Spring Cloud Gateway实战。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十)
|
消息中间件 Dubbo Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十九)
Spring Cloud微服务架构设计与开发实战课时3.8—阿里巴巴开源微服务分布式事务框架。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十九)
|
监控 Dubbo Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十七)
Spring Cloud微服务架构设计与开发实战课时3.6—Spring Cloud实战Sentinel熔断限流。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二十七)
下一篇
无影云桌面