Spring Boot H2 简明教程

Spring Boot & H2 - Overview

What is H2?

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

Advantages of H2 Database

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

  1. No configuration - Spring Boot 本质上支持 H2,不需要额外的配置来配置 H2 数据库。

  2. Easy to Use - H2 数据库非常易于使用。

  3. Lightweight and Fast - H2 数据库非常轻量级,而且由于处于内存中,因此非常快。

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

  5. Supports Standard SQL and JDBC - H2 数据库支持标准 SQL 的几乎所有功能以及 JDBC 的操作。

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

Configuring H2 Database

将 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

Persisting H2 Data

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

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