Пружинный ботинок. Запуск сценариев SQL и получение данных при запуске приложения
Я разрабатываю приложение spring boot. На данный момент некоторые из моих конфигураций жестко закодированы (например, свойства Hystrix).
поэтому я хотел бы получить эти конфигурации во время запуска приложения или сразу после этого.
можно ли это сделать с помощью spring boot? Я имею в виду запустить SQL-скрипт при запуске и получить данные.
Как свойства / конфигурации должны быть получены и сохранены в моем приложении?
Я использую MyBatis и Oracle ДЕЦИБЕЛ.
1 ответов
по умолчанию, Spring-Boot loads data.sql
и/или data-${platform}.sql
.
Однако имейте в виду, что скрипт будет загружаться при каждом запуске, поэтому я думаю, что имеет смысл (по крайней мере, для производства) просто иметь значения, уже присутствующие в базе данных, а не вставляться повторно при каждом запуске. Я лично использовал инициализацию базы данных только для целей тестирования / dev при использовании базы данных памяти. тем не менее, это функция, предоставляемая Spring-Boot.
источник: spring-boot-howto-база данных-инициализация:
Spring JDBC имеет функцию инициализатора источника данных. Ботинок весны включает он по умолчанию и загружает SQL из стандартной схемы местоположений.sql и данные.sql (в корне пути к классам). Кроме того весной загрузки загрузите схему - ${platform}.sql и данные - ${platform}.файлы sql (если настоящий.)
src / main / resources/data-oracle.в SQL:
insert into...
insert into...
- вы можете определить платформу с:
spring.datasource.platform=oracle
. - вы можете изменить имя сценария sql для загрузки с помощью:
spring.datasource.data=myscript.sql
. - вместе с данными.sql, Spring-boot также загружает схему.sql (перед данными.язык SQL.)
- у вас также может быть логика "обновить или вставить" в ваши данные.в SQL: oracle sql: обновить, если существует еще вставить