彩票走势图

Java基础教程:如何创建一个用于CRUD操作的Spring Data存储库

翻译|使用教程|编辑:鲍佳佳|2021-06-25 10:28:23.307|阅读 126 次

概述:本文主要讲解Java基础教程如何使用Intellij idea创建员工实体、存储库接口等,我们需要一种方法来执行我们的CRUD(创建、读取、更新、删除)操作。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Java开发工具:点击下载IntelliJ IDE最新版

创建一个用于CRUD操作的Spring Data存储库

上一节我们讲了如何创建员工实体!现在我们已经创建了Employee实体,我们需要一种方法来执行我们的CRUD(创建、读取、更新、删除)操作。幸运的是,Spring Data JPA通过Repositories提供了所有的基本操作。让我们看看它们是如何工作的。

在项目窗口中,我们将选择com.jetbrains.springdatajpaapp包,Windows/Linux下按Alt+Insert,macOS下按⌘N。选择Java类。我们把它叫做EmployeeRepository,这次我们选择接口,然后按回车键。为了使我们的接口成为一个库,我们需要它扩展CrudRespository<T, ID>接口,通用参数是我们的实体类和实体的id类型。所以对于我们的应用程序,我们的存储库接口定义为:public interface EmployeeRepository extends CrudRepository<Employee, Long>。

我们将使用这个EmployeeRepository接口在我们的应用程序代码中执行CRUD操作。由于我们扩展了CrudRepository,我们可以默认获得基本的CRUD方法。例如,我们可以调用save方法将一个Employee对象插入我们的数据库中。我们还可以调用findAll方法来列出雇员表中的所有雇员。当我们编写应用逻辑时,我们将看到如何做到这一点。

在大多数应用程序中,你会发现自己想要做的事情比CrudRepository接口默认提供的要多。例如,假设我们想找到所有姓氏中有空格的员工。你当然可以写一个SQL查询来做到这一点。然而,更简单的方法是利用Spring Data JPA的优势,它允许你在存储库中创建方法,这些方法将根据你的方法名称被翻译成查询。

例如,假设我们想添加一个方法,用于查找所有姓氏中有某个字符串的员工。我们将进入EmployeeRepository接口,开始声明我们的方法。我的方法将返回一个雇员的列表,所以我们将使用List<Employee>作为我们的返回类型。然后,我们需要指定一个方法名,它有两个部分:介绍者和标准。我们可以在IntelliJ IDEA中使用Ctrl+Space来查看介绍者的方法建议列表。

存储库方法建议介绍人

选择findEmployeesBy。然后,我们将再次点击Ctrl+Space,查看可供选择的标准列表。

存储库方法建议标准

我们将选择LastNameContaining. 最后,我们将声明一个 String 方法参数,表示我们要检查的字符串。我们现在有一个方法来查找姓氏包含所提供字符串的所有员工。

你可能会想:如果我已经定义了这个接口,我就不需要实现它吗?答案是不。Spring Data JPA 会为您处理这些!您需要做的就是定义您的 Repository 接口并按照 Spring Data 约定声明您的方法。随着您添加更多方法,如果您在方法名称中出错,IntelliJ IDEA 会指出。例如,如果我们尝试创建一个方法来查询具有不正确LName属性的员工,IntelliJ IDEA 会给我们一个错误提示Cannot resolve property LName。

方法签名验证

Intellij idea运行最终结果

您的EmployeeRepository界面应如下所示:

package com.jetbrains.springdatajpaapp;

import org.springframework.data.repository.CrudRepository;

import java.util.List;

public interface EmployeeRepository extends CrudRepository<Employee, Long> {
    List<Employee> findEmployeesByLastNameContaining(String str);
}

点击查看更多IntelliJ IDEA入门教程、案例开发、实时资讯


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP