Spring Data JPA教程:简介

创建使用Java Persistence API的存储库是一个繁琐的过程,需要大量时间,并且需要大量样板代码。 通过执行以下步骤,我们可以消除一些样板代码:

  1. 创建一个抽象的基础存储库类,该类为实体提供CRUD操作。
  2. 创建扩展抽象基础存储库类的具体存储库类。

这种方法的问题在于,我们仍然必须编写用于创建数据库查询并调用它们的代码。 更糟的是,每次要创建新的数据库查询时,我们都必须这样做。 这是浪费时间

如果我告诉您我们可以创建JPA存储库而无需编写任何样板代码,您会怎么说?

很有可能您可能不相信我,但是Spring Data JPA可以帮助我们做到这一点。 Spring Data JPA项目的网站指出

实现应用程序的数据访问层已经很长一段时间了。 为了执行简单查询以及执行分页和审核,必须编写太多样板代码。 Spring Data JPA旨在通过将工作量减少到实际需要的数量来显着改善数据访问层的实现。 作为开发人员,您将编写包括自定义finder方法在内的存储库接口,Spring会自动提供实现

这篇博客文章介绍了Spring Data JPA。 我们将学习Spring Data JPA的真正含义,并快速浏览一下Spring Data存储库接口。

让我们开始吧。

什么是Spring Data JPA?

Spring Data JPA不是JPA提供程序 。 它是一个库/框架,在我们的JPA提供程序的顶部添加了额外的抽象层。 如果我们决定使用Spring Data JPA,则我们应用程序的存储库层包含以下三层:

下图说明了存储库层的结构:

springdatajpalayers

补充阅读:

乍一看,Spring Data JPA似乎使我们的应用程序变得更加复杂。 它的确在我们的存储库层中增加了一层,但是与此同时,它使我们无需编写任何样板代码。

听起来这是一个不错的权衡。 对?

Spring数据存储库简介

Spring Data JPA的功能在于由Spring Data Commons项目提供并由特定于数据存储的子项目扩展的存储库抽象。

我们可以使用Spring Data JPA而不用注意存储库抽象的实际实现,但是我们必须熟悉Spring Data存储库接口。 这些接口描述如下:

首先 ,Spring Data Commons项目提供以下接口:

其次 ,Spring Data JPA项目提供以下接口:

存储库层次结构如下所示:

springdataj存储库

很好,但是我们如何使用它们呢?

这是一个公平的问题。 本教程的下一部分将回答该问题,但实际上我们必须遵循以下步骤:

  1. 创建一个存储库接口,并扩展Spring Data提供的存储库接口之一。
  2. 将自定义查询方法添加到创建的存储库界面(如果需要的话)。
  3. 将存储库接口注入到另一个组件,并使用Spring自动提供的实现。

让我们继续并总结从这篇博客文章中学到的知识。

摘要

这篇博客文章教会了我们两件事:

  • Spring Data JPA不是JPA提供者。 它只是“隐藏”了其存储库抽象之后的Java Persistence API(和JPA提供程序)。
  • Spring Data提供了多个用于不同目的的存储库接口。

本教程的下一部分描述了如何获取所需的依赖关系。

如果您想了解更多有关Spring Data JPA的信息,请阅读我的Spring Data JPA教程

翻译自: https://www.javacodegeeks.com/2014/12/spring-data-jpa-tutorial-introduction.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值