Spring Boot 和 H2 - 概述


什么是H2?

H2数据库是一个开源的、嵌入式的、内存中的关系数据库管理系统。它是用 Java 编写的,并提供客户端/服务器应用程序。它将数据存储在系统内存中而不是磁盘中。一旦程序关闭,数据也会丢失。当我们不想保留数据并对整体功能进行单元测试时,可以使用内存数据库。其他一些流行的内存数据库是 HSQLDB 或 HyperSQL 数据库和 Apache Derby。H2 是其他嵌入式数据库中最受欢迎的一种。

H2数据库的优势

以下是 H2 提供的优势列表 -

  • 无需配置- Spring Boot 本质上支持 H2,无需额外配置即可配置 H2 数据库。

  • 易于使用- H2 数据库非常易于使用。

  • 轻量级且快速- H2 数据库非常轻量级并且位于内存中,速度非常快。

  • 切换配置- 使用配置文件,您可以轻松在生产级数据库和内存数据库之间切换。

  • 支持标准SQL和JDBC - H2数据库支持标准SQL的几乎所有功能和JDBC的操作。

  • 基于 Web 的控制台- H2 数据库可以通过其基于 Web 的控制台应用程序进行管理。

配置H2数据库

添加 H2 数据库作为 Maven 依赖项即可。

<dependency>  
   <groupId>com.h2database</groupId>  
   <artifactId>h2</artifactId>  
   <scope>runtime</scope>  
</dependency>  

虽然,spring boot会自动配置H2数据库。我们可以通过在 application.properties 中指定它们来覆盖默认配置,如下所示。

spring.datasource.url=jdbc:h2:mem:testdb  
spring.datasource.driverClassName=org.h2.Driver  
spring.datasource.username=sa  
spring.datasource.password=  
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true  

持久化 H2 数据

如果需要持久存储,则在 application.properties 中添加以下配置。

spring.datasource.url=jdbc:h2:file:/data/database
spring.datasource.url=jdbc:h2:C:/data/database