|
@@ -2,10 +2,16 @@ package com.baomidou.mybatisplus.test.postgres.config;
|
|
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
|
|
|
+import org.springframework.jdbc.datasource.init.DataSourceInitializer;
|
|
|
+import org.springframework.jdbc.datasource.init.DatabasePopulator;
|
|
|
+import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
|
|
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
import javax.sql.DataSource;
|
|
|
|
|
|
/**
|
|
@@ -30,4 +36,22 @@ public class DBConfig {
|
|
|
public DataSourceTransactionManager transactionManager(DataSource ds) {
|
|
|
return new DataSourceTransactionManager(ds);
|
|
|
}
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public DataSourceInitializer dataSourceInitializer(DataSource dataSource) throws IOException {
|
|
|
+ final DataSourceInitializer initializer = new DataSourceInitializer();
|
|
|
+ initializer.setDataSource(dataSource);
|
|
|
+ initializer.setDatabasePopulator(databasePopulator());
|
|
|
+ initializer.setEnabled(true);
|
|
|
+ return initializer;
|
|
|
+ }
|
|
|
+
|
|
|
+ private DatabasePopulator databasePopulator() throws IOException {
|
|
|
+ ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
|
|
|
+ resourceDatabasePopulator.setContinueOnError(false);
|
|
|
+ resourceDatabasePopulator.addScripts(
|
|
|
+ new PathMatchingResourcePatternResolver().getResources("classpath:/postgres/*.sql")
|
|
|
+ );
|
|
|
+ return resourceDatabasePopulator;
|
|
|
+ }
|
|
|
}
|