一尘不染

如何在应用程序启动/加载期间执行SQL插入查询以填充数据库?

hibernate

我想在加载应用程序期间将一些数据加载到mysql数据库中。我正在使用Hibernate来管理应用程序的数据库。我可以使用Bootstrap在groovy中做到这一点,但我想在Java中实现它。我想提到的是基于Spring
MVC的Web应用程序。

在Internet上搜索时,我发现使用名为import_file的hibernate属性可以实现此目的,但是我正在寻找替代路线。


阅读 248

收藏
2020-06-20

共1个答案

一尘不染

您还可以利用Spring的DataSourceInitializer。以下是针对它的Java Config的示例。

@Bean
public DataSourceInitializer dataSourceInitializer() {
    ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
    resourceDatabasePopulator.addScript(new ClassPathResource("/data.sql"));

        DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
        dataSourceInitializer.setDataSource(dataSource());
        dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
        return dataSourceInitializer;
    }
2020-06-20