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

相关文章
|
存储 NoSQL Java
SpringData快速入门
SpringData快速入门
|
3月前
|
Java 数据库连接 API
【Java笔记+踩坑】Spring Data JPA
从常用注解、实体类和各层编写方法入手,详细介绍JPA框架在增删改查等方面的基本用法,以及填充用户名日期、分页查询等高级用法。
【Java笔记+踩坑】Spring Data JPA
|
7月前
|
Java 程序员 数据安全/隐私保护
Javaweb之SpringBootWeb案例之AOP概述及入门的详细解析
Javaweb之SpringBootWeb案例之AOP概述及入门的详细解析
53 0
|
Java 关系型数据库 数据库
Spring Boot 学习研究笔记(七) -使用SpringData JPA访问PostgreSql数据库
Spring Boot 学习研究笔记(七) -使用SpringData JPA访问PostgreSql数据库
398 0
|
SQL 存储 XML
SpringData进阶篇-下
SpringData进阶篇-下
140 0
|
XML SQL Java
SpringData 进阶篇-上
SpringData 进阶篇-上
77 0
|
SQL XML NoSQL
SpringData 基础篇
SpringData 基础篇
120 0
|
SQL Java 关系型数据库
【java_wxid项目】【第八章】【Apache ShardingSphere集成】
主项目链接:https://gitee.com/java_wxid/java_wxid 项目架构及博文总结:
331 0
|
Java 应用服务中间件 微服务
【java_wxid项目】【第一章】【Spring Boot快速构建应用】
【java_wxid项目】【第一章】【Spring Boot快速构建应用】
162 0
|
SQL Java 数据库连接
【java_wxid项目】【第九章】【Apache Mybatis集成】
主项目链接:https://gitee.com/java_wxid/java_wxid 项目架构及博文总结:
217 0