SpringData JPA 简介|学习笔记

简介: 快速学习 SpringData JPA 简介

开发者学堂课程【SpringBoot快速掌握 - 核心技术:SpringData JPA 简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/612/detail/9278


SpringData JPA 简介

一、SpringData 简介

Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括非关系数据库、 Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。


Spring Data包含多个子项目:

- Spring Data Commons

- Spring Data JPA

- Spring Data KeyValue Repository

- Spring Data LDAP Support

- Spring Data MongoDB

- Spring Data Gemfire

- Spring Data REST Obiect

- Spring Data Redis Tempiates Mapping

- Spring Data for Apache Cassandra

- Spring Data for Apache Solr

- Spring Data Couchbase (community module)

- Spring Data Elasticsearch(community module)

- Spring Data Neo4j(community module)

1、SpringData特点

SpringData提供使用统一的API来对数据访问层进行操作;这主要是Spring DataCommons项目来实现的。Spring Data Commons在使用关系型或者非关系型数据访问技术时都基于Spring提供的统一标准,标准包含了CRUD(创建、获取、更新、删除)、查询、排序和分页的相关操作。

2、统一的Repository接口

Repository<T, ID extends Serializable>:统一接口

RevisionRepository<T, ID extends Serializable, N extends Number & Comparable<N>>:基于乐观锁机制

CrudRepository<T,ID extends Serializable>:基本  CRUD  操作

PagingAndSortingRepository<T, ID extends Serializable>:基本CRUD及分页

Repository (org.springframework.data.repository)

RevisionRepository(org.springframework.data.repository.history)

CrudRepository (org.springframework.data.repository)

PagingAndSortingRepository (org,springframework.data,reposit

JpaRepository(org.springframework.data.jpa.repository)

3、提供数据访问模板类 xxxTemplate;

如: MongoTemplate、RedisTemplate 等

4、JPA 与 Spring Data

1)、JpaRepository  基本功能

编写接口继承  JpaRepository  既有 crud 及分页等基本功能

定义符合规范的方法命名

在接口中只需要声明符合规范的方法,即拥有对应的功能

Keyword

Sample

JPOL snippet

And

findByLastnaneAndFirstname

_ where x.lastDate =?1 and x.lastname = ?2

or

findByLastnaneOrFirstname

_ where x.lastname =?1 or x.firstnase

= ?2

Between

findByStartDate Between

_ where x.startDate between 1? and ?2

3.@Query 自定义查询,定制查询 SQL

4.Specifications 查询( Spring Data JPA 支持 JPA2.0 的 Criteria 查询)

5.流程图

image.png

相关文章
|
6月前
|
数据采集 人工智能 数据可视化
SpatialLM:手机视频秒建3D场景!开源空间认知模型颠覆机器人训练
SpatialLM 是群核科技开源的空间理解多模态模型,能够通过普通手机拍摄的视频重建 3D 场景布局,赋予机器人类似人类的空间认知能力,适用于具身智能训练、自动导航、AR/VR 等领域。
477 5
SpatialLM:手机视频秒建3D场景!开源空间认知模型颠覆机器人训练
|
3月前
|
人工智能 数据可视化 物联网
工业4.0数字孪生新引擎:星图云开发者平台全景评测
在“中国制造2025”战略推动下,工业互联网平台迎来爆发式增长,但也面临数据孤岛、分析能力不足等技术瓶颈。中科星图推出的“星图云开发者平台”通过低代码开发、多源数据融合和智能分析等创新技术,解决了工业数字化转型中的关键问题。该平台不仅支持三维可视化渲染和遥感数据分析,还兼容多种主流GIS标准协议,实现空天地一体化数据融合。其丰富的行业模板覆盖能源、园区、水务等领域,大幅降低开发门槛。评测显示,相比传统低代码平台,星图云在3D建模、GIS支持和IoT设备接入等方面表现突出,为工业数字孪生提供了全面解决方案,助力智能化升级与跨行业应用拓展。
|
3月前
|
监控 Java 测试技术
2025 年 Java 核心技术从入门到精通实战指南
《2025年Java核心技术实战指南》全面覆盖Java开发的最新趋势与最佳实践。内容包括Java新特性(如模式匹配、文本块、记录类)、微服务架构(Spring Boot 3.0+、Spring Cloud)、响应式编程(Reactor、WebFlux)、容器化与云原生(Docker、Kubernetes)、数据访问技术(JPA、R2DBC)、函数式编程、单元测试与集成测试(JUnit 5、Mockito)、性能优化与监控等。通过实战案例,帮助开发者掌握构建高性能、高可用系统的技能。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
195 7
|
11月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
424 6
|
10月前
|
数据采集 Python
数据爬取技术进阶:从表单提交到页面点击的实现
本文介绍了如何使用 Python 和代理 IP 技术,从表单提交到页面点击,实现动态网页的数据爬取。以百度贴吧为例,详细讲解了登录、发帖和数据采集的实现流程,并提供了完整的代码示例。通过代理 IP 确保数据获取的稳定性和安全性。
339 3
|
12月前
|
运维 监控 安全
物联网:“物联网卡里你不知道的那些秘密与操作”
在数字化转型的浪潮中,物联网(IoT)作为连接物理世界与数字世界的桥梁,正以前所未有的速度改变着我们的生活和工作方式。而物联网卡,作为物联网设备的关键组件,承载着数据传输、设备识别与连接的重要功能。然而,在享受物联网带来的便利之时,关于物联网卡的那些鲜为人知的知识点和操作技巧,你或许还知之甚少。下面,就让我们一起揭开物联网卡的神秘面纱。
|
Kubernetes 算法 调度
【K8S系列】深入解析K8S调度
【K8S系列】深入解析K8S调度
1743 0
|
Java Sentinel Spring
spring boot 整合 sentinel
spring boot 整合 sentinel
448 1
|
存储 Cloud Native NoSQL
向量数据库汇总
向量数据库汇总
908 0
|
SQL XML NoSQL
SpringData 基础篇
SpringData 基础篇
257 0

热门文章

最新文章