带有 Spring Boot 的 Spring Data JPA 示例

本文详细介绍了如何使用Spring Data JPA与Spring Boot进行数据库交互,以H2内存数据库为例,涵盖项目设置、Maven依赖、模型定义、JPA存储库、服务接口与实现、以及使用CommandLineRunner进行测试。示例展示了Spring Data JPA的强大抽象和便捷性。
摘要由CSDN通过智能技术生成

一、简介

在这篇文章中,我们将演示如何利用强大的Spring Data JPA API 与数据库交互,本课的内存H2 数据库。

Spring Data JPA 提供了一组非常强大且高度抽象的接口,用于与任何底层数据库进行交互。数据库可以是 MySQL、MongoDB、Elasticsearch 或任何其他支持的数据库。Spring Data JPA 的其他优势包括:

  • 支持基于 JPA 约定构建扩展存储库
  • 内置分页支持和动态查询执行
  • 支持基于 XML 的实体映射

在本例中,我们将使用 H2 内存数据库。数据库的选择不应影响我们将构建的 Spring Data 定义,因为这是 Spring Data JPA 提供的主要优势。它使我们能够将数据库查询与应用程序逻辑完全分离。

2. 项目设置

我们将使用众多 Maven 原型之一来为我们的示例创建一个示例项目。要创建项目,请在您将用作工作区的目录中执行以下命令:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">mvn archetype:generate -DgroupId=com.javacodegeeks.example -DartifactId=JCG-SpringDataJPA-example -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
</font></font>

如果您是第一次运行 maven,则需要几秒钟来完成生成命令,因为 maven 必须下载所有必需的插件和工件才能完成生成任务。

artifactId请注意,现在,您将拥有一个与所选目录同名的新目录。现在,请随意在您最喜欢的 IDE 中打开该项目。

最后,我们没有使用 IDE 来制作这个项目,而是使用了一个简单的 maven 命令。这有助于我们从您可能使用的任何特定 IDE 中进行项目设置和初始化。

3. Maven依赖

首先,我们需要将适当的 Maven 依赖项添加到我们的项目中。我们将以下依赖项添加到我们的pom.xml文件中:

pom.xml

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><父></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <groupId>org.springframework.boot</groupId></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <artifactId>spring-boot-starter-parent</artifactId></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <version>1.5.10.RELEASE</version></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <relativePath/> <!-- 从存储库中查找父级 --></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
</父></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
<属性></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  <java.version>1.8</java.version></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
</属性></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
<依赖项></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font sty
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值