Spring Boot CRUD 操作2025年3月18日 | 阅读 10 分钟 什么是 CRUD 操作?CRUD 代表 创建 (Create)、读取/检索 (Read/Retrieve)、更新 (Update) 和 删除 (Delete)。这些是持久化存储的四个基本功能。 CRUD 操作可以定义为允许用户通过基于计算机的表单和报告来查看、搜索和修改信息的 UI 约定。CRUD 是面向数据的,并且是 HTTP 动词 的标准化用法。HTTP 有几个重要的动词。
在数据库中,这些操作中的每一个都直接映射到一系列命令。然而,它们与 RESTful API 的关系要复杂一些。 标准 CRUD 操作
CRUD 操作如何工作CRUD 操作是大多数动态网站的基础。因此,我们应该区分 CRUD 和 HTTP 动词。 假设我们要创建一条新记录,应该使用 HTTP 动词 POST。要更新一条记录,应该使用 PUT 动词。同样,如果我们想删除一条记录,应该使用 DELETE 动词。通过 CRUD 操作,用户和管理员可以在线检索、创建、编辑和删除记录。 我们有很多执行 CRUD 操作的选择。其中一种最高效的选择是在 SQL 中创建一组存储过程来执行操作。 CRUD 操作指的是在关系数据库应用程序中实现的所有主要功能。CRUD 的每个字母都可以映射到 SQL 语句和 HTTP 方法。
Spring Boot CrudRepositorySpring Boot 提供了一个名为 CrudRepository 的接口,其中包含 CRUD 操作的方法。它定义在 org.springframework.data.repository 包中。它扩展了 Spring Data 的 Repository 接口。它在存储库上提供通用的 CRUD 操作。如果我们想在应用程序中使用 CrudRepository,我们需要创建一个接口并扩展 CrudRepository。 语法 其中,
例如 在上面的示例中,我们创建了一个名为 StudentRepository 的接口,它扩展了 CrudRepository。其中 Student 是要管理的存储库,Integer 是在 Student 存储库中定义的 ID 类型。 Spring Boot JpaRepositoryJpaRepository 提供 JPA 相关的方法,例如刷新、持久化上下文和批量删除记录。它定义在 org.springframework.data.jpa.repository. 包中。JpaRepository 同时扩展了 CrudRepository 和 PagingAndSortingRepository。 例如 ![]() 为什么我们应该使用这些接口?
CrudRepository 与 JpaRepository
Spring Boot CRUD 操作示例让我们设置一个 Spring Boot 应用程序并执行 CRUD 操作。 第一步: 打开 Spring Initializr http://start.spring.io。 步骤 2: 选择 Spring Boot 版本 2.3.0.M1。 步骤 2:提供Group 名称。我们提供了 com.javatpoint。 第三步: 提供 Artifact ID。我们提供了 spring-boot-crud-operation。 第五步: 添加依赖项 Spring Web, Spring Data JPA, 和 H2 Database。 步骤 6: 单击 Generate 按钮。当我们单击 Generate 按钮时,它将规范包装在一个 Jar 文件中,并将其下载到本地系统。 ![]() 步骤 7:解压 Jar 文件并将其粘贴到 STS 工作区中。 第八步: 将项目文件夹导入 STS。 File -> Import -> Existing Maven Projects -> Browse -> Select the folder spring-boot-crud-operation -> Finish 它需要一些时间来导入。 第九步: 在 src/main/java 文件夹中创建一个名为 com.javatpoint.model 的包。 第十步: 在 com.javatpoint.model 包中创建一个模型类。我们创建了一个名为 Books 的模型类。在 Books 类中,我们做了以下操作:
Books.java 第十一步: 在 src/main/java 文件夹中创建一个名为 com.javatpoint.controller 的包。 第十二步: 在 com.javatpoint.controller 包中创建一个 Controller 类。我们创建了一个名为 BooksController 的 Controller 类。在 BooksController 类中,我们做了以下操作:
BooksController.java 第十三步: 在 src/main/java 文件夹中创建一个名为 com.javatpoint.service 的包。 第十四步: 创建一个服务类。我们在 com.javatpoint.service 包中创建了一个名为 BooksService 的服务类。 BooksService.java 第十五步: 在 src/main/java 文件夹中创建一个名为 com.javatpoint.repository 的包。 第十六步: 创建一个存储库接口。我们在 com.javatpoint.repository 包中创建了一个名为 BooksRepository 的存储库接口。它扩展了 Crud Repository 接口。 BooksRepository.java 现在我们将在 application.properties 文件中配置数据源 URL, 数据库驱动程序类名, 用户名, 和 密码。 第十七步: 打开 application.properties 文件并配置以下属性。 application.properties 注意:不要忘记启用 H2 控制台。创建完所有类和包后,项目目录如下所示。 ![]() 现在我们将运行应用程序。 第十八步: 打开 SpringBootCrudOperationApplication.java 文件并将其作为 Java 应用程序运行。 SpringBootCrudOperationApplication.java 注意:在接下来的步骤中,我们将使用 Postman REST 客户端。因此,请确保您的系统中已安装 Postman 应用程序。第十九步: 打开 Postman 并执行以下操作:
当请求成功执行时,它会显示 Status:200 OK。这意味着记录已成功插入数据库。 同样,我们也插入了以下数据。 让我们访问 H2 控制台查看数据。 第二十步: 打开浏览器并调用 URL https://:8080/h2-console。点击 Connect 按钮,如下图所示。 ![]() 点击 Connect 按钮后,我们在数据库中看到 Books 表,如下图所示。 ![]() 第二十一步: 点击 Books 表,然后点击 Run 按钮。该表显示了我们在 Body 中插入的数据。 ![]() 第二十二步: 打开 Postman 并发送一个 GET 请求,URL 为 https://:8080/books。它返回我们插入到数据库中的数据。 ![]() 让我们发送一个 GET 请求,URL 为 https://:8080/book/{bookid}。我们指定了 bookid 6830。它返回 ID 为 6830 的 Book 的详细信息。 ![]() 同样,我们也可以发送一个 DELETE 请求来删除一条记录。假设我们要删除 ID 为 5433 的 Book 记录。 选择 DELETE 方法并调用 URL https://:8080/book/5433。再次在 H2 控制台中执行 Select 查询。我们看到 ID 为 5433 的 Book 已从数据库中删除。 ![]() 同样,我们也可以通过发送 PUT 请求来更新一条记录。让我们更新 ID 为 6321 的 Book 的价格。
现在,转到 H2 控制台并查看更改是否已反映。我们看到 Book 的价格已更改,如下图所示。 ![]() Spring Boot CRUD 操作选择题1. 哪个 Spring Boot 注解用于创建处理 CRUD 操作的 RESTful Web 服务?
答案:D 解释: @RestController 注解在 Spring Boot 中用于创建 RESTful Web 服务。它结合了 @Controller 和 @ResponseBody,允许类处理 HTTP 请求并直接从方法返回响应。 2. @RequestMapping 注解在 Spring Boot CRUD 操作中的作用是什么?
答案:B 解释: @RequestMapping 注解用于将 HTTP 请求映射到 MVC 和 REST 控制器中的特定处理程序方法。它可以在类级别和方法级别使用,以定义请求 URL 和 HTTP 方法。 3. 以下哪个不是 Spring Boot CRUD 操作中使用的有效 HTTP 方法?
答案:D 解释: 在 Spring Boot CRUD 操作中,常用的 HTTP 方法是 GET(用于读取)、POST(用于创建)、PUT(用于更新)和 DELETE(用于删除)。CONNECT 方法用于建立网络连接,通常不用于 CRUD 操作。 4. 在 Spring Boot 中,哪个存储库方法用于通过其 ID 检索实体?
答案:B 解释: Spring Data JPA 存储库中的 findById() 方法用于通过其主键(ID)检索实体。如果找到实体,它将返回一个包含该实体的 Optional,否则返回一个空的 Optional。 5. 使用 JPA 在 Spring Boot 应用程序中执行更新操作时,通常会使用哪个方法?
答案:A 解释: 在 Spring Data JPA 中,save() 方法用于创建新实体和更新现有实体。如果实体已存在(由 ID 确定),它将被更新;否则,将创建一个新实体。 |
我们请求您订阅我们的新闻通讯以获取最新更新。