如何在应用程序启动/加载期间执行SQL插入查询以填充数据库? [英] How to execute SQL insert queries to populate database during application start/load?
问题描述
我想在加载应用程序的过程中将一些数据加载到mysql数据库中。我正在使用Hibernate来管理应用程序的数据库。我可以通过使用Bootstrap来实现,但我想用Java实现它。我想说的是它是基于Spring MVC的Web应用程序。
在互联网上搜索时,我发现使用名为import_file的hibernate属性,我可以实现它但我正在寻找一个替代路线。你也可以利用Spring的 DataSourceInitializer
code>。以下是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);
返回dataSourceInitializer;
}
I want to load some data into the mysql database during loading of the application. I am using Hibernate for managing database for the application. I can do it in groovy by using Bootstrap but I want to achieve it in Java. I would like to mention that it is Spring MVC based web application.
While searching on the internet, I found that but using hibernate property named as import_file, I can achieve it but I am looking for an alternate route.
You could also take advantage of Spring's DataSourceInitializer
. The following is an example of Java Config for it.
@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;
}
这篇关于如何在应用程序启动/加载期间执行SQL插入查询以填充数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!