嵌入式服务器
Spring Boot
的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。
Hibernate
Hibernate
是一个 Java 框架,它提供了对象关系映射到面向对象模型到关系数据库。这意味着 Hibernate
提供了从 Java 类到数据库表的映射,同时还提供了数据查询和检索功能。
事务
事务只是表示工作单元。在这种情况下,如果一步失败了,整个事务就会失败(这被称为原子性)。一个事务可以由 ACID
属性(原子性、一致性、隔离性和持久性) 来描述。
在 Hibernate
框架中,我们有 Transaction
接口来定义工作单元。它对事务实现(JTA
、JDBC
)进行了抽象。
关系
使用 Hibernate
,如果我们想在两个实体之间建立关系,则表之间必须存在外键关系,我们称之为引用完整性。拥有对象之间的关系的主要优点是,我们可以在一个对象上执行操作,然后将相同的操作传递到数据库中的另一个对象上。
以下是 Hibernate
中可以在对象之间拥有的四种类型的关系。
- 一对一
- 多对一
- 多对多
- 一对多
实体生命周期
在 Hibernate
中,我们可以创建一个实体的新对象并将其存储到数据库中,也可以从数据库中获取实体的现有数据。这些实体与生命周期相关,每个实体对象都通过生命周期的各个阶段。
Hibernate
生命周期主要有四种状态:
- 瞬态状态
- 持久状态
- 分离状态
- 已移除状态
Spring Data
Spring Data
是一个用于在 Spring
应用程序中访问数据的项目集合。它提供了一个通用的接口,用于处理各种类型的数据存储,包括关系数据库、NoSQL 数据存储和基于云的数据服务。Spring Data
的目标是通过在不同的数据存储和数据访问技术之间提供一致的高级存储库编程模型,简化 Spring
应用程序中的数据访问。这可以帮助开发人员编写更少的样板代码并专注于业务逻辑,同时仍能利用底层数据存储的全部功能。
Spring Data JPA
Spring Data JPA
是一个库,它使得在 Spring
应用程序中实现基于 Java Persistence API (JPA)
的存储库(一个“DAO”缩写)变得容易。它是在 JPA
之上的一个抽象,允许您使用更简单和更方便的 API 执行对数据库的 CRUD
(创建、读取、更新、删除)操作。Spring Data JPA
还提供了其他功能,如分页、动态查询生成等。
Spring Data Mongodb
Spring Data for MongoDB
是 Spring Data
项目的一部分,旨在为各种新数据存储库提供一个熟悉且一致的基于 Spring
的编程模型,同时保留库特定的功能和能力。
Spring Data MongoDB
项目提供了与 MongoDB
文档数据库的集成。Spring Data MongoDB
的关键功能领域是提供一个 POJO
中心模型,用于与 MongoDB DBCollection
交互,并轻松编写存储库风格的数据访问层。
Spring Data JDBC
Spring Data JDBC
是 Spring Data
项目的一部分,它提供了使用 JDBC
(Java Database Connectivity
)与关系型数据库进行交互的支持。它旨在提供一种简单且一致的编程模型,以使用 JDBC
与数据库进行交互,同时仍然允许在需要时使用 JDBC
的全部功能。Spring Data JDBC
提供了一组抽象和实用程序类,简化了与数据库的工作,例如用于执行 SQL
查询的简单模板类,用于实现数据访问对象(DAO
)的存储库抽象,以及支持查询结果的分页和排序。它适用于 Java
和 Kotlin
。