如何在 Spring Boot JPA 应用程序中添加初始数据

x33g5p2x  于2022-10-06 转载在 Spring  
字(0.7k)|赞(0)|评价(0)|浏览(901)

为了在应用程序启动时插入一些数据,您只需在 src/main/resources 文件夹中创建一个 data.sql 文件,它将在启动时自动执行。在此文件中,放置您的 SQL INSERT 语句:

INSERT into CUSTOMER(id,name,surname) VALUES (1,'aaaa','bbbbbb') INSERT into CUSTOMER(id,name,surname) VALUES (2,'cccc','dddddd')

另一方面,如果要执行 DDL,例如 CREATE TABLE 语句,则必须将它们放入 src/main/resources/schema.sql 文件中

CREATE TABLE task (   id          INTEGER PRIMARY KEY,   description VARCHAR(64) NOT NULL,   completed   BIT NOT NULL);

但是,请考虑,如果您为内存数据库(如 H2)包含实体对象,则默认情况下,表是由 Spring Boot 创建的。如果您仍想使用 schema.sql,则必须通过将其添加到 application.properties 来禁用此功能:

spring.jpa.hibernate.ddl-auto=none

最后,值得一提的是,如果您使用 Spring boot 2,数据库初始化仅适用于嵌入式数据库(H2、HSQLDB,...)。如果您也想将其用于其他数据库,则需要更改 spring.datasource.initialization-mode 属性:

spring.datasource.initialization-mode=always

就这样!我们在本教程中演示了如何通过在资源文件夹中添加 SQL 脚本和 DDL 语句来在 Spring Boot JPA 应用程序中添加初始数据。

相关文章