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