原始地址:https://dev.to/tienbku/spring-boot-oracle-example-build-a-crud-app-5g6a
Spring Boot和Oracle示例
在本教程中,我们将构建一个使用Hibernate、Spring Data JPA和Oracle数据库连接的Spring Boot和Oracle示例,以进行CRUD操作。您将了解以下内容:
- 如何配置Spring Data、JPA和Hibernate与Oracle数据库一起工作
- 如何定义数据模型和存储库接口
- 创建Spring Rest Controller以处理HTTP请求的方法
- 使用Spring Data JPA与Oracle数据库进行交互的方法
完整文章请查看:https://bezkoder.com/spring-boot-hibernate-oracle/
Spring Boot和Oracle示例概述
我们将构建一个使用Spring Boot + Hibernate + Oracle的示例,为教程应用程序导出Rest CRUD API:
- 每个教程都有id、标题、描述和发布状态。
- API用于创建、检索、更新、删除教程。
- API还支持按发布状态或标题查找的自定义查找方法。
我们需要提供以下API:
方法 | Urls | 操作 |
---|---|---|
POST | /api/tutorials | 创建新教程 |
GET | /api/tutorials | 检索所有教程 |
GET | /api/tutorials/:id | 根据id检索教程 |
PUT | /api/tutorials/:id | 根据id更新教程 |
DELETE | /api/tutorials/:id | 根据id删除教程 |
DELETE | /api/tutorials | 删除所有教程 |
GET | /api/tutorials/published | 查找所有已发布的教程 |
GET | /api/tutorials?title=[keyword] | 查找标题包含关键字的所有教程 |
我们使用Hibernate和Spring Data JPA的JpaRepository实现CRUD操作和查找方法。
当您运行Spring Boot + Oracle示例时,tutorials表将自动在Oracle数据库中生成。您可以看到类似这样的内容:
创建一些教程:
创建操作后检查Oracle数据库:
更新一些教程:
更新操作后检查Oracle数据库:
获取所有教程:
通过ID获取教程:
查找所有已发布的教程:
查找所有标题包含’ring’的教程:
删除教程:
删除操作后检查Oracle数据库:
删除所有教程:
现在该表中没有记录了。
您还可以在以下帖子中使用客户端测试此Spring Boot应用程序:
- 使用Web API的Angular 8 CRUD应用程序示例
- 使用Web API的Angular 10 CRUD应用程序示例
- 使用Web API的Angular 11 CRUD应用程序示例
- 使用Vue Router&Axios的Vue 2 CRUD应用程序
- 使用Axios&Vue Router的Vue 3 CRUD应用程序
- 使用Web API的React CRUD示例
- 使用API调用的React Redux CRUD示例
技术
- Java 8
- Spring Boot 2(包括Spring Web MVC、Spring Data JPA)
- Oracle 12c或19c
- Maven 3.6.1
项目结构
让我简要解释一下。
- Tutorial数据模型类对应实体和表tutorials。
- TutorialRepository是一个接口,扩展了JpaRepository以实现CRUD方法和自定义查找方法。它将被自动装配到TutorialController中。
- TutorialController是一个RestController,具有处理RESTful请求的请求映射方法,如getAllTutorials,createTutorial,updateTutorial,deleteTutorial,findByPublished…
- 在application.properties中对Spring Datasource、JPA和Hibernate进行配置。
- pom.xml包含用于Spring Boot和Oracle的依赖项。
有关逐步操作和Github,请访问:https://bezkoder.com/spring-boot-hibernate-oracle/
进一步阅读
如果您想在此Spring项目中添加分页功能,可以在以下链接找到说明:
- Spring Boot分页和过滤示例 | Spring JPA,Pageable
要按多个字段进行排序/排序: - Spring Data JPA按多列排序/排序 | Spring Boot
这些REST API需要处理异常: - Spring Boot @ControllerAdvice和@ExceptionHandler示例
- Spring Boot中的@RestControllerAdvice示例
或者编写JPA Repository的单元测试的方法: - 使用@DataJpaTest进行Spring Boot JPA Repository单元测试
更多实践:
- Spring Boot CRUD应用程序示例