Источник данных Spring: EmbeddedDatabaseBuilder addScript () создает исключение FileNotFoundException - PullRequest
0 голосов
/ 07 ноября 2019

Я использую Spring-Boot и базу данных H2 в памяти. Я пытаюсь настроить базу данных через класс конфигурации с помощью компонента DataSource Bean. Я хочу, чтобы при запуске приложения выполнялся скрипт, который вставлял несколько строк в мою базу данных. Поэтому я использую метод addScript() из EmbeddedDatabaseBuilder. Но я продолжаю получать FileNotFoundExceptions.

Объект правильный и создана правильная таблица, которую я могу проверить с помощью h2-console. Также файл import.sql существует в правильной папке. Intellij находит этот файл.

Файл import.sql:

INSERT INTO USER (id, user_name, password, first_name, last_name, email) VALUES
(0,'test','12345','Test','Entry','example@mail.com'),
@Configuration
public class DataSourceConfig {

    @Bean
    public DataSource dataSource() {
       return new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .addScript("db/sql/import.sql")
                .build();
    }

}
Caused by: java.io.FileNotFoundException: class path resource [db/sql/import.sql] cannot be opened because it does not exist

Я бы хотел, чтобы инструкция sql правильно выполнялась при запуске приложения.

...