Spring 数据初始化的时候没有执行 SQL


prtyaa
prtyaa 2023-12-29 20:46:03 53588 赞同 0 反对 0
分类: 资源
Spring Boot 项目在启动的时候可以对 H2 中的数据库进行初始化。 一般来说我们会定义下面的参数: spring.datasource.data=classpath:h2-data.sql 但是在 Spring Boot 项目运行以后,我们通过 H2 的控制台查看数据库的时候,发现 SQL 脚本没有执行。

问题原因和解决

我们都知道 Spring 数据库有下面 2 个配置参数:spring.datasource.schema 和 spring.datasource.data。

spring.datasource.schema 中定义的是数据库执行脚本,包括创建数据库表和关系等 DDL 脚本。

Spring 中这里有个小坑,如果在配置参数中不定义 spring.datasource.schema, 而直接spring.datasource.data 定义的话,spring.datasource.data 中定义的脚本是不会执行的。

因此你需要先定义 spring.datasource.schema,可以做的是:

  • 在 resources 文件夹中定义一个空的 schema.sql 文件。
  • 将所有的创建数据库脚本和插入数据的脚本放到 spring.datasource.schema 中定义

 

 

然后通过控制台可以查看根据数据库创建脚本创建的数据库表。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
prtyaaL2
粉丝 1 资源 1949 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  130
统信桌面专业版【全盘安装UOS系统】介绍  129
银河麒麟桌面操作系统安装佳能打印机驱动方法  120
银河麒麟桌面操作系统 V10-SP1用户密码修改  108
麒麟系统连接打印机常见问题及解决方法  30
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
麒麟系统连接打印机常见问题及解决方法 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益210.13元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!