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

相关文章
|
前端开发 Java Spring
37SpringMVC - 简介
37SpringMVC - 简介
79 0
|
存储 NoSQL Java
SpringData快速入门
SpringData快速入门
|
7月前
|
安全 网络协议 Java
技术好文:SpringBoot学习(五)RSocket和Security
技术好文:SpringBoot学习(五)RSocket和Security
|
敏捷开发 安全 Java
01SpringCloud简介
01SpringCloud简介
50 0
|
8月前
|
SQL 缓存 安全
【JavaEE进阶】 #{}和${}
【JavaEE进阶】 #{}和${}
|
8月前
|
SQL 安全 Java
【SpringSecurity】简介
【SpringSecurity】简介
70 0
|
存储 前端开发 Java
SpringMVC简介
SpringMVC简介
90 0
|
监控 负载均衡 Dubbo
SpringCloud极简入门-SpringCloud简介
Spring cloud是一个基于Spring Boot实现的服务治理工具包,用于微服务架构中管理和协调服务的。Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。有了SpringCloud之后,让微服务架构的落地变得更简单。
894 0
|
SQL XML NoSQL
SpringData 基础篇
SpringData 基础篇
132 0
|
XML SQL Java
SpringData 进阶篇-上
SpringData 进阶篇-上
88 0