前言
为了满足客户的需求,我们计划将项目中使用的MySQL数据库迁移至H2数据库。虽然项目已经集成了多数据源,理论上可以正常运作,但在实际操作过程中,我们发现项目启动时无法自动创建表。我们将对此问题进行深入分析,并寻找合适的解决方案以确保项目的顺利运行。
实战
调整依赖
新增h2数据库依赖
<!-- dynamic-datasource 多数据源-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-ds.version}</version>
</dependency>
<!-- mybatisPlus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- h2数据库 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
配置文件
在我们的项目配置中,由于选择了本地连接方式,因此数据库的URL被特意设置为指向本地路径。这样的安排旨在确保数据访问的便捷性和效率,同时也便于管理和维护数据库资源。
--- # 数据源配置
spring:
h2:
# 嵌入式(本地)连接
file_path: D:/H2/db/ # 数据库路径
db_name: park # 数据库名称
console:
path: /h2 # 通过YOUR_URL:PORT/h2访问h2 web consloe
enabled: true # 程序开启时就会启动h2 web consloe
datasource: