HoneyMoose
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • USVisaTrack
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
BLOG.OSSEZ.COM
A responsive blog theme focused om user reading experience
  1. Home
  2. Computer Science
  3. Spring
  4. This article

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

2020年10月22日 680Browse 0Like 0Comments

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 中定义

 

Spring-H2-sql-01

 

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

 

https://www.ossez.com/t/spring-sql/603

Tags: None
Last updated:2020年10月22日

Kratos

stay absorbed stay excellent

Like
< Previous
Next >

Comments

Cancel reply

Newest Hotspots Random
Newest Hotspots Random
1月14号的 UA857 PowerShell 中运行 maven 参数无法识别 Java 8 使用 Stream 把 List 转换为 map FAA 真的应该换换系统了 说说这 48 小时核酸检测的时间 Jenkins 构建过程中提示 GPG 错误
美联航悄然在 2023 年恢复前往中国航班美联储在加息的路上一路狂奔2023 年美国住房买家的购买意愿HAVC 无电池温控器(Thermostat)的电源接线方法ChatGPT 使用 API 进行 Postman 调用测试ChatGPT 最近火得不要不要的
Angular 应用的外壳 JDK 15 以上版本的字符串块 Confluence 6 缓存性能示例 美国房产中 Residential(住宅)及其子分类 Spring Data 测试数据查询测试的时候提示 hibernate.dialect Confluence 6 配置自动备份
Categories
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • H1B
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • USRealEstate
  • USVisaTrack
  • 我的小厨

COPYRIGHT © 2020 HoneyMoose. ALL RIGHTS RESERVED.

THEME CWIKIUS.CN MADE BY VTROIS