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?
0
- Rejestracja:około 11 lat
- Ostatnio:8 miesięcy
- Postów:93
0
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
};
}
}
public CommandLineRunner prepareDatabase(MyOwnRepo userRepo) {
etc.
edytowany 1x, ostatnio: Radomiej
- Rejestracja:prawie 13 lat
- Ostatnio:około 3 lata
- Postów:166
0
Lub:
@Component
public class DatabaseInitializer {
@PostConstruct
public void initDatabase() {
// tutaj inicjalizacja bazy
}
}
- 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.
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.