Spring Boot 整合 H2 开发
Spring Boot H2 配置
maven 引入 H2 jar
maven 添加配置如下:<!-- h2内存数据库 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency>
注:一般 H2 用于测试使用,所以一般会将其配置为 test,这个时候如果用 run 方式启动,就会报错 :
Property: driverclassname Value: org.h2.Driver Origin: "driverClassName" from property source "source" Reason: Unable to set value for property driver-class-name
所以如果用 run 方式启动,需要将 test 去掉才能正常启动。
配置 appliaction.yml
appliaction.yml 添加配置如下:# spring spring: # H2 DATABASE CONFIG datasource: # 数据库连接池 type: com.zaxxer.hikari.HikariDataSource schema: classpath:/db/schema-h2.sql data: classpath:/db/data-h2.sql url: jdbc:h2:mem:testdb username: sa password: sa platform: h2 continue-on-error: true h2: # h2 web consloe 是一个数据库GUI管理应用,程序运行时,会自动启动h2 web consloe console: # 开启 h2 web console ,默认开启 enabled: true # 可以通过 url/h2-console 访问 h2 web path: /h2-console settings: # 配置后 h2 web console 就可以在远程访问,否则只能在本机访问 web-allow-others: true
配置初始化表结构和表数据
如上配置所示,schema 属性设置表结构初始化 sql 文件路径,data 属性设置表数据初始化 sql 文件路径,
注:我一开始没注意到,直接用了 mysql 的语句去初始化,然后发现涉及到外键的表都不能成功创建,所有初始化语句应该符合 H2 语法,当然为了省事,直接将外键删除也是可以的,哈哈
查看 H2 GUI 控制台
为了确定语句初始化是否正确,我们需要进到 H2 可视化工具进行查看,而且后续的开发也肯定会用到。
启动应用,输入:应用地址 + 如上配置的 path 地址访问,如:http://localhost:8080/h2-console
帐号、密码、JDBC URL 上面配置都有了,直接复制进控制台,登录即可访问
到此完成 Spring Boot 整合 H2,毫无难度,哈哈
参考
- Spring Boot 集成 H2 指南:https://segmentfault.com/a/1190000007002140