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    
广告