[英]Insert data in h2 database through data.sql file before performing unit testing in spring boot
[英]Spring Boot Cannot load data.sql into h2 database
我尝试实现一个 Spring 批处理的例子。 启动应用程序后,我希望将 data.sql 中定义的所有值加载到 h2 数据库中,但它不起作用。
这是如下所示的application.properties文件。
server.port=2121
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.batch.job.enabled=false
这是data.sql文件
DROP TABLE IF EXISTS USERS ;
CREATE TABLE USERS (
"ID" BIGINT auto_increment NOT NULL PRIMARY KEY,
"AGE" INTEGER NOT NULL,
"BIRTHDAY" DATE,
"COUNTRY" CHARACTER VARYING(255),
"EMAIL" CHARACTER VARYING(255),
"FIRST_NAME" CHARACTER VARYING(255),
"GENDER" CHARACTER VARYING(255),
"LAST_NAME" CHARACTER VARYING(255),
"PERSON_ID" CHARACTER VARYING(255)
);
INSERT INTO USERS VALUES (1, 22, DATE '2000-08-15', 'China', 'gspearing0@flickr.com', 'Ginnie', 'FEMALE', 'Spearing', 'fa26fa96-97d3-4e8e-856a-fdf07499e13e');
INSERT INTO USERS VALUES (2, 23, DATE '1999-01-25', 'Panama', 'nloynes2@woothemes.com', 'Natala', 'FEMALE', 'Loynes', '24be24e6-525f-42de-855d-52d4fef21608');
INSERT INTO USERS VALUES (3, 9, DATE '2013-04-15', 'Japan', 'jheino3@mayoclinic.com', 'Jard', 'MALE', 'Heino', '87cdda81-45d0-451a-a62f-f8450eae1b64');
INSERT INTO USERS VALUES (4, 8, DATE '2014-05-09', 'Indonesia', 'jcarlaw1@t.co', 'Jilleen', 'FEMALE', 'Carlaw', 'c722e6d5-9024-49c5-80e0-c2555f1eb9cc');
INSERT INTO USERS VALUES (5, 22, DATE '2000-03-18', 'Indonesia', 'rgillino6@china.com.cn', 'Rainer', 'MALE', 'Gillino', '5302a199-f313-4a24-9550-d643001d9faf');
INSERT INTO USERS VALUES (6, 9, DATE '2013-02-16', 'China', 'rcossans4@harvard.edu', 'Roseline', 'FEMALE', 'Cossans', '06f70b0d-2c98-4f46-b933-528499ab91b3');
我该如何解决这个问题?
这是示例链接:链接
这是解决方案
添加
spring.jpa.defer-datasource-initialization=true
进入 application.properties 文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.