项目启动的时候需要对数据库表进行一些操作,我们可以定义一个sql脚本把执行动作放入,然后在项目里加入下面这个配置类,前提是项目已经配置好了数据源
/**
* 自定义初始化数据源
* @Author: irving-shi
* @Date: 2021/10/19
*
*/
@Slf4j
@Configuration
public class CustomizeDataSourceInitializer {
@Value("classpath:sql/update_1019.sql")
private Resource functionScriptFarms;
@Bean
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
final DataSourceInitializer initializer = new DataSourceInitializer();
// 设置数据源
initializer.setDataSource(dataSource);
log.info("新版本对数据库表进行更新");
initializer.setDatabasePopulator(databasePopulator());
return initializer;
}
private DatabasePopulator databasePopulator() {
final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.addScripts(functionScriptFarms);
return populator;
}
}