Spring boot runtime database dane startowe

Spring boot runtime database dane startowe
0

Witam.
Robię projekt w spring boot, korzystam na ten moment z emulowanej lokalnej bazy danych, problem w tym że dane się kasują przy każdym resecie aplikacji. Jaki jest najlepszy sposób na dodanie danych startowych do bazy np. konto admina?

RA
  • Rejestracja:około 11 lat
  • Ostatnio:8 miesięcy
  • Postów:93
0
Kopiuj
package com.example;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class MyFirstSpringBootAppApplication{

    public static void main(String[] args) {
        SpringApplication.run(MyFirstSpringBootAppApplication.class, args);
    }
    
    @Bean
    public CommandLineRunner prepareDatabase() {
        return (args) -> {
            //nasza logika
        };
    }
}
Kopiuj
 public CommandLineRunner prepareDatabase(MyOwnRepo userRepo) {

etc.

edytowany 1x, ostatnio: Radomiej
0
Kopiuj
@Bean
public InitializingBean insertDefaultUsers() {
        return new InitializingBean() {
            @Override
            public void afterPropertiesSet() {
	    }
	}
}

I w ciele metody to co chcesz zrobić.

MA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 3 lata
  • Postów:166
0

Lub:

Kopiuj
@Component
public class DatabaseInitializer {
    @PostConstruct 
    public void initDatabase() {
        // tutaj inicjalizacja bazy
    }
}
DK
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 9 lat
  • Postów:13
0

Hej, podejścia są różne, możesz - jak wyżej programatycznie tworzyć i persystując obiekty encji. Możesz też ustawić Springa tak, by odpalał sobie skrypty z SQLowymi poleceniami tuż po starcie serwera.

Akurat mam taki program pod ręką, Spring Boot + H2 w pamięci inicjalizowana ze skryptów. Projekt jeszcze w powijakach, ale działa. Znajdziesz potrzebną klaskę konfiguracji i przykładowe skrypty, może będzie przydatne.

https://github.com/dawidkotarba/Playground

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.