如何在应用程序启动/加载期间执行SQL插入查询以填充数据库? [英] How to execute SQL insert queries to populate database during application start/load?

查看:76
本文介绍了如何在应用程序启动/加载期间执行SQL插入查询以填充数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在加载应用程序的过程中将一些数据加载到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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆