Spring Data JPA(一.最基础)

一.

1.Spring Data JPA

可以理解为JPA规范的再次封装抽象,底层还是使用了Hibernate的JPA技术实现,引用JPQL(Java Persistence Query Language,Java持久性查询语言)查询语言,属于spring整个生态系统的一部分。随着Spring Boot和Spring Cloud在市场上的流行,Spring Data JPA也逐渐进入大家是视野,它们组成有机的整体,使用比较简单,加快开发效率,是开发者不需要关心和配置更多东西,完全可沉浸在Spring的完整生态标准实现下,JPA上手 简单,开发效率高,对对象的支持比较好,又有很大的灵活性,市场认可度越来越高
在这里插入图片描述

2.ORM框架选型

在这里插入图片描述在这里插入图片描述(通过进行比较我们可以更好的了解java及优势和劣势,更好进行运用,是我们的开发效率等各方面有很大的提高)

3.JPA介绍

(百度百科查询https://baike.baidu.com/item/JPA/5660672?fr=aladdin

3.1
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。
3.2
JPA的起源
JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它又不限于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运行,方便开发和测试的理念已经深入人心了。Hibernate3.2+、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。
JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:

  • 3.2.1 ORM映射元数据 JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;
    3.2.2 API 用来操作实体对象,执行CRUD操作,框架在后台替代我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
    3.2.3 查询语言 这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。
    在这里插入图片描述

4.了解SpringData

4.1SpringData的介绍
 Spring Data项目是从2010年发展起来的,从创立之初SpringData就想提供一个大家熟悉的、一致的、基于Spring的数据访问编程模型,同时仍然保留底层数据存储的特殊特性。它可以轻松地让开发者使用数据访问技术,包括关系数据库、非关系数据库(NoSQL)和基于云的数据服务。

Spring Data Common是Spring Data所有模块的公用部分,该项目提供跨Spring数据项目的共享基础设施。它包含了技术中立的库接口以及一个坚持java类的元数据模型。

Spring Data不仅对传统的数据库访问技术JDBC、Hibernate、JDO、TopLick、JPA、Mybitas做了很好的支持、扩展、抽象、提供方便的API,还对NoSQL等非关系数据做了很好的支持,包括MongoDB、Redis、Apache Solr等
  4.2 Spring Data子项目
主要项目(Main Modules):
Spring Data Commons
Spring Data Gemfire
Spring Data JPA
Spring Data KeyValue
Spring Data LDAP
Spring Data MongoDB
Spring Data REST
Spring Data Redis
Spring Data for Apache Cassandra
Spring Data for Apache Solr
社区支持的项目(Community Modules):
Spring Data Aerospike
Spring Data Couchbase
Spring Data DynamoDB
Spring Data Elasticsearch
Spring Data Hazelcast
Spring Data Jest
Spring Data Neo4j
Spring Data Vault
其他(Related Modules):
Spring Data JDBC Extensions
Spring for Apache Hadoop
Spring Content
当然了还有许多开源社区做出的许多贡献如 MyBatis 等。
在这里插入图片描述Spring Data操作的主要特性
Spring Data 项目旨在为大家提供一种通用的编码模式,数据访问对象实现了对物理数据层的抽象,为编写查询方法提供了方便。
通过对象映射,实现域对象和持续化存储之间的转换,而模板提供的是对底层存储实体的访问实现,操作上主要有如下特征:
提供模板操作,如 Spring Data Redis 和 Spring Data Riak;
强大的 Repository 和定制的数据储存对象的抽象映射;
对数据访问对象的支持(Auting 等)。

5.Spring Data JPA框架

简介
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 JPA 技术实
现,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使
用 Spring Data JPA 可以极大提高开发效率!
5.1 Spring Data JPA的主要类和结构图(可通过ctrl+H去进行查看)
需要掌握和使用到的类(七大接口和两大实现类)
七个大 Repository 接口:
Repository(org.springframework.data.repository);
(所有接口都在这个包下面,总父接口)
CrudRepository(org.springframework.data.repository);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值