Spring - 周边设施 - H2 数据库 初始化数据导入
1. 概述
- 之前讲到了 H2 的引入
- 这下我想说说 H2 启动时的 数据导入
2. 场景
- 需求
- 启动项目后, H2 启动起来
- 环境数据会自动注入 H2 数据库
- 可以验证是否成功
3. 环境
-
os
- win10
-
jdk
- 1.8
-
ide
- ida 2018.1
-
spring
- spring boot
- 2.1.7 release
- 组件
- thymeleaf
- starter-web
- devtool
- starter-test
- spring boot
-
browser
- firefox
- 70.0
- firefox
-
H2
- 1.4.197
-
ref
- spring in action 5th
4. 步骤
1. 准备好 sql 文件
-
schema.sql
create table if not exists Ingredient ( id varchar(4) not null, name varchar(25) not null, type varchar(10) not null );
-
data.sql
delete from Ingredient; insert into Ingredient (id, name, type) values ('FLTO', 'Flour Tortilla', 'WRAP');
2. 配置
-
概述
- 配置 H2 相关的 sql 配置
-
前提
- 上一篇博文写到的配置, 已经配好了
- 这次只给出 增量
- application.properties
-
内容
# H2: 写入数据 spring.datasource.url=jdbc:h2:mem:test_db spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password=sa #spring.datasource.schema=classpath:schema.sql #spring.datasource.data=classpath:data.sql
-
解释
-
url
- 内存数据库
- 最后的 库名, 可以自己起
- 老实说, 我也没弄清这块的规则, 但是现在能用
-
driverClassName
- 驱动类
-
username & password
- 默认值
-
schema & data
- 启动时默认执行的 sql 文件
- 默认位置
- resources 目录下
- 这个 path 可以改, 文件名也可以改
- 默认顺序
- schema
- data
-
3. 验证
- 概述
- 配置好后, 验证一下即可
1. 步骤
-
重启项目
-
进入 浏览器 console
-
url
localhost:8080/console
-
-
登录
-
jdbc url
# 和 之前的配置一样就行 jdbc:h2:mem:test_db
-
username & password
- sa/sa
-
-
验证
- 确认表在
- 查看数据是否一致
ps
-
ref
-
其他
- 暴露了 sql 只是的贫乏
- H2 总算起来了, 可以继续往下走了
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出