zoukankan      html  css  js  c++  java
  • Spring 数据初始化的时候没有执行 SQL

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

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

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

  • 相关阅读:
    ecolise 设置反编译
    整理03
    JAVA创建对象的五种方式
    JAVA中的深复制和浅复制--建议多看几遍
    选择题
    python学习第九天
    python学习第八天
    python学习第七天
    python学习第五天
    python学习第四天
  • 原文地址:https://www.cnblogs.com/huyuchengus/p/13860505.html
Copyright © 2011-2022 走看看