SpringBoot CrudRepository 教程展示了如何使用 CrudRepository 在 Spring Boot 应用中管理数据。
Spring 是流行的 Java 应用框架。 Spring Boot 致力于以最小的努力创建独立的,基于生产级别的基于 Spring 的应用。
Spring Data
Spring Data 是用于数据访问的基于 Spring 的编程模型。 它减少了使用数据库和数据存储所需的代码量。 它由几个模块组成。 Spring Data JPA 简化了使用 JPA 技术的 Spring 应用的开发。
使用 Spring Data,我们为应用中的每个域实体定义了一个存储库接口。 存储库包含用于执行 CRUD 操作,对数据进行排序和分页的方法。 @Repository
是标记注解,指示基础接口是存储库。 通过扩展特定的存储库接口(例如CrudRepository
,PagingAndSortingRepository
或JpaRepository
)来创建存储库。
Spring Data 已与 Spring MVC 控制器进行了高级集成,并提供了从存储库方法名称派生的动态查询。
CrudRepository
CrudRepository
实现基本的 CRUD 操作,包括计数,删除,deleteById,保存,saveAll,findById 和 findAll。
Spring Boot CrudRepository
示例
以下 Spring Boot 应用使用CrudRepository
管理User
实体。 数据保存在 H2 数据库中。 我们使用一个 RESTful 控制器。
这是项目结构。
pom.xml
这是 Maven 构建文件。 spring-boot-starter-web
是使用 Spring MVC 构建 Web(包括 RESTful)应用的入门程序。 spring-boot-starter-data-jpa
是将 Spring Data JPA 与 Hibernate 结合使用的入门工具。
com/zetcode/model/User.java
这是User
实体。
com/zetcode/service/UserService.java
这是服务类。 该类提供了三种方法来查找所有用户,对用户进行计数以及按 ID 删除用户。
在 Spring 中,服务类用@Service
注解修饰。
我们注入UserRepository
。
findAll()
方法调用userRepository's
findAll()
方法并检索所有用户。
com/zetcode/repository/UserRepository.java
UserRepository
从CrudRepository
延伸。 它提供了实体的类型及其主键。
com/zetcode/controller/MyController.java
控制器类提供了三个请求的映射。 我们可以获取所有用户,计算用户数,并通过其 ID 删除用户。 数据以 JSON 格式返回。
为了获得所有用户,我们使用@GetMapping
注解。
我们使用@DeleteMapping
删除特定用户。
com/zetcode/Application.java
Application
设置 Spring Boot 应用。
com/zetcode/MyRunner.java
在MyRunner
中,我们为应用设置了数据。
我们创建一个新用户,并使用存储库的save()
方法将其保存。
我们使用curl
工具测试该应用。
在本教程中,我们使用CrudRepository
管理了应用数据。