【SpringBoot】如何在SpringBoot工程启动时建表和填充数据

本例适用版本:

SpringBoot:2.5.4

Oracle:11.2.0.1.0

不保证本例在其它版本依然适用

先决条件:

SpringBoot工程能与目标DB顺畅连接。

下面正文开始:

1.在application.properties中加入以下文字:

spring.sql.init.mode=always
spring.sql.init.schema-locations=classpath:schema.sql
spring.sql.init.data-locations=classpath:data.sql

mode有always、embedded、never三个选项,一般再需要建表时填always,如果表已经建立完毕须改成never;

schema-locations是建表语句文件所在,本例中的schema.sql是这样书写的:

create table test(
id int,
name nvarchar2(20),
primary key(id));

data-locations是给表充值文件所在,本例中data.sql是这样书写的:

insert into test(id,name) values(1,'Andy');
insert into test(id,name) values(2,'Bill');

以上文件的物理位置见下图:

2.以上三处就绪后运行程序,如果报错就检查sql语句有没有纰漏,如果不报错就表示建表成功了,我们可以到sqlplus里看看:

SQL> select count(*) from user_tables where table_name=upper('test');

  COUNT(*)
----------
         1

SQL> select * from test;

        ID NAME
---------- ----------------------------------------
         1 Andy
         2 Bill

确如期望,目的达成。

前作:https://www.cnblogs.com/heyang78/p/12791747.html

END

原文地址:https://www.cnblogs.com/heyang78/p/15229196.html