Spring Data JPA 理论简介

Spring Data 简介

  • 介绍 JPA 之前必须了解 Spring Data,Spring Data 官网地址:https://projects.spring.io/spring-data/#quick-start
  • Spring Data 是一个用于简化数据库访问的开源框架,支持访问关系型数据库、非关系型数据库、map-reduce 框架、以及云计算服务等。
  • Spring Data 框架主要模块(Main modules)/子项目如下:
  • Currently the release train contains the following modules(目前发布的 Spring Data 版本包含以下模块/子项目):
  • Spring Data Commons
  • 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 Geode
  • Spring Data for Apache Solr
  • Spring Data for Pivotal GemFire
  • Spring Data Couchbase (community module)
  • Spring Data Elasticsearch (community module)
  • Spring Data Neo4j (community module)

Spring Data 特点

  • Spring Data 提供使用统一的 API 来对数据访问层进行操作,这主要是 Spring Data Commons项目来实现的。
  • Spring Data Commons 让程序员在使用关系型或者非关系型数据访问技术时都基于 Spring 提供的统一标准,而不用再关心底层到底是何种数据。
  • Spring Data Commons 提供的标准包含了常用的 CRUD(创建、获取、更新、删除)、查询、排序和分页等相关操作,对底层任意数据库都是使用一套 API 搞定,大大简化操作。
  • Spring Data 提供统一的 Repository(仓库) 接口
  1. Repository<T, ID extends Serializable>:统一接口
  2. RevisionRepository<T, ID extends Serializable, N extends Number & Comparable<N>>:基于乐观锁机制
  3. CrudRepository<T, ID extends Serializable>:通用 CRUD 操作
  4. PagingAndSortingRepository<T, ID extends Serializable>:通用 CRUD 及分页操作

  • 提供数据访问模板类 xxxTemplate,如:MongoTemplate、RedisTemplate 等 

JPA 简介

  • JPA 全称 Java Persistence API(Java 持久化API),是 Java 官方提出的 Java 持久化规范,为开发人员提供了一种对象/关系映射工具来管理 Java 应用中的关系数据,从 Java EE 5 开始发布。
  • JPA (Java 持久化 API) 为对象关系映射提供POJO持久性模型,由 JESR 220 的 EJB 3 软件专家组开发,但它的使用不限于EJB 软件组件。它也可以直接由 Web 应用程序和应用程序客户端使用,甚至可以在Java EE平台之外,例如,在Java SE应用程序中使用。

Java Persistence API

The Java Persistence API provides a POJO persistence model for object-relational mapping. The Java Persistence API was developed by the EJB 3.0 software expert group as part of JSR 220, but its use is not limited to EJB software components. It can also be used directly by web applications and application clients, and even outside the Java EE platform, for example, in Java SE applications. See JSR 220.

Spring Data JPA 简介

  • 项目开发中程序员面向 Spring Data 编程,只需要实现对应的接口重写其中的方法即可操作数据库
  • 如上图所示操作关系型数据库时引入 Sping Data JPA 模块,然后实现接口重写方法即可操作,同理操作 Resid 时引入 Spring Data Redis,操作 MongoDB 时引入 Spring Data MongDB。
  • Sping Data JPA 底层默认由 Hibernate 实现,但操作比 Hibernate 更简单,以前 Hibernate 还要自己封装 BaseDao 层,而 Spring Data JPA 连这一步都省略了,实现接口之后,就可以直接调用其中的 CRUD 方法以及排序、分页等方法,更加简洁。

猜你喜欢

转载自blog.csdn.net/wangmx1993328/article/details/82016850
今日推荐