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

目录
打赏
0
0
0
0
116
分享
相关文章
SpatialLM:手机视频秒建3D场景!开源空间认知模型颠覆机器人训练
SpatialLM 是群核科技开源的空间理解多模态模型,能够通过普通手机拍摄的视频重建 3D 场景布局,赋予机器人类似人类的空间认知能力,适用于具身智能训练、自动导航、AR/VR 等领域。
340 5
SpatialLM:手机视频秒建3D场景!开源空间认知模型颠覆机器人训练
Could not obtain transaction-synchronized Session for current thread原因及解决方案
Could not obtain transaction-synchronized Session for current thread原因及解决方案
402 1
Could not obtain transaction-synchronized Session for current thread原因及解决方案
杨校老师课堂之JDK1.8下载、安装与环境变量配置
杨校老师课堂之JDK1.8下载、安装与环境变量配置
167 0
阿里云云原生弹性方案,用弹性解决集群资源利用率难题
本文主要介绍了通过弹性,实现成本优化,解决集群资源利用率难题。
92977 8
物联网:“物联网卡里你不知道的那些秘密与操作”
在数字化转型的浪潮中,物联网(IoT)作为连接物理世界与数字世界的桥梁,正以前所未有的速度改变着我们的生活和工作方式。而物联网卡,作为物联网设备的关键组件,承载着数据传输、设备识别与连接的重要功能。然而,在享受物联网带来的便利之时,关于物联网卡的那些鲜为人知的知识点和操作技巧,你或许还知之甚少。下面,就让我们一起揭开物联网卡的神秘面纱。
来了,Anolis OS 8.2 正式版首发!100% 兼容 CentOS 8
本次GA版是龙蜥操作系统(Anolis OS)8.2的首个正式发布版本!!
来了,Anolis OS 8.2 正式版首发!100% 兼容 CentOS 8
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
379 6
【MySQL】query_cache_size=16M,是干什么的?底层原理是什么?
【MySQL】query_cache_size=16M,是干什么的?底层原理是什么?
477 0

热门文章

最新文章

AI助理

你好,我是AI助理

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

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问