Springboot结合H2 DB 备忘
2021-08-19 本文已影响0人
JohnYuCN
Springboot为繁重的DB测试环境准备提供一个最佳快速实践H2 DB
洪峰过境中的橘子州头 2019年7月9日
1. 引入:
第一个依赖是H2的运行库,第二个依赖除了热布署功能以外,还提供了通过web方式访问数据库的功能。
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
2. 添加初始化数据库的文件:
在src/main/resources/下,添加schema.sql和data.sql,分别进行结构定义和数据插入的功能。
当然也可以在applicaiton.yml中,加入以下配置,进行定制:
spring:
datasource:
schema:
- schema-1.sql
data:
- data-1.sql
initialization-mode: always
3. 打开控制台功能:
在application.yml中,加入:
spring:
h2:
console:
enabled: true
此时项目中,如果结合了spring-boot-starter-web,就会在启动控制台出现如下的日志:
H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:20c48048-d59f-43f3-b4b9-1f3a1fe5e3e0'
此时通过浏览器访问:http://localhost:8080/h2-console
时,进行如下内容填写,并点击save,然后connect,就可以对数据库进行访问。
4. 定制h2的url
也可以在application.yml中增加一些额外的配置信息,这样在JDBC URL
中直接指定jdbc:h2:mem:testdb
即可。
spring:
h2:
console:
enabled: true
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver