本文整理汇总了Java中org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute方法的典型用法代码示例。如果您正苦于以下问题:Java DatabasePopulatorUtils.execute方法的具体用法?Java DatabasePopulatorUtils.execute怎么用?Java DatabasePopulatorUtils.execute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.springframework.jdbc.datasource.init.DatabasePopulatorUtils
的用法示例。
在下文中一共展示了DatabasePopulatorUtils.execute方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initialize
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@PostConstruct
protected void initialize() {
if (this.properties.getInitializer().isEnabled()) {
String platform = getDatabaseType();
if ("hsql".equals(platform)) {
platform = "hsqldb";
}
if ("postgres".equals(platform)) {
platform = "postgresql";
}
if ("oracle".equals(platform)) {
platform = "oracle10g";
}
ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
String schemaLocation = this.properties.getSchema();
schemaLocation = schemaLocation.replace("@@[email protected]@", platform);
populator.addScript(this.resourceLoader.getResource(schemaLocation));
populator.setContinueOnError(true);
DatabasePopulatorUtils.execute(populator, this.dataSource);
}
}
示例2: herdDataSource
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
/**
* Get a new herd data source based on an in-memory HSQLDB database. This data source is used for loading the configuration table as an environment property
* source as well as for the JPA entity manager. It will therefore create/re-create the configuration table which is required for the former. It also
* inserts required values for both scenarios.
*
* @return the test herd data source.
*/
@Bean
public static DataSource herdDataSource()
{
// Create and return a data source that can connect directly to a JDBC URL.
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName(org.h2.Driver.class.getName());
basicDataSource.setUsername("");
basicDataSource.setPassword("");
basicDataSource.setUrl("jdbc:h2:mem:herdTestDb");
// Create and populate the configuration table.
// This is needed for all data source method calls since it is used to create the environment property source which happens before
// JPA and other non-static beans are initialized.
ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
resourceDatabasePopulator.addScript(new ClassPathResource("createConfigurationTableAndData.sql"));
DatabasePopulatorUtils.execute(resourceDatabasePopulator, basicDataSource); // This is what the DataSourceInitializer does.
return basicDataSource;
}
示例3: initDatabase
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
/**
* Hook to initialize the embedded database. Subclasses may call this method
* to force initialization.
* <p>After calling this method, {@link #getDataSource()} returns the
* {@link DataSource} providing connectivity to the database.
*/
protected void initDatabase() {
// Create the embedded database source first
if (logger.isInfoEnabled()) {
logger.info("Creating embedded database '" + this.databaseName + "'");
}
if (this.databaseConfigurer == null) {
this.databaseConfigurer = EmbeddedDatabaseConfigurerFactory.getConfigurer(EmbeddedDatabaseType.HSQL);
}
this.databaseConfigurer.configureConnectionProperties(
this.dataSourceFactory.getConnectionProperties(), this.databaseName);
this.dataSource = this.dataSourceFactory.getDataSource();
// Now populate the database
if (this.databasePopulator != null) {
try {
DatabasePopulatorUtils.execute(this.databasePopulator, this.dataSource);
}
catch (RuntimeException ex) {
// failed to populate, so leave it as not initialized
shutdownDatabase();
throw ex;
}
}
}
示例4: runScripts
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
private void runScripts(List<Resource> resources, String username, String password) {
if (resources.isEmpty()) {
return;
}
ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.setContinueOnError(this.properties.isContinueOnError());
populator.setSeparator(this.properties.getSeparator());
if (this.properties.getSqlScriptEncoding() != null) {
populator.setSqlScriptEncoding(this.properties.getSqlScriptEncoding().name());
}
for (Resource resource : resources) {
populator.addScript(resource);
}
DataSource dataSource = this.dataSource;
if (StringUtils.hasText(username) && StringUtils.hasText(password)) {
dataSource = DataSourceBuilder.create(this.properties.getClassLoader())
.driverClassName(this.properties.determineDriverClassName())
.url(this.properties.determineUrl()).username(username)
.password(password).build();
}
DatabasePopulatorUtils.execute(populator, dataSource);
}
示例5: runScripts
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
private void runScripts(List<Resource> resources, DataSource dataSource) {
if (resources.isEmpty()) {
return;
}
ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.setContinueOnError(configuration.isContinueOnError());
populator.setSeparator(configuration.getConfigPropertyValue(SpringDataSourceConfigProperties.SEPARATOR, ";"));
String encoding = configuration.getConfigPropertyValue(SpringDataSourceConfigProperties.SQL_SCRIPT_ENCODING,
null);
if (encoding != null) {
populator.setSqlScriptEncoding(encoding);
}
for (Resource resource : resources) {
populator.addScript(resource);
}
DatabasePopulatorUtils.execute(populator, dataSource);
}
示例6: before
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Override
protected void before() {
ResourceDatabasePopulator populator = new ResourceDatabasePopulator(
new ClassPathResource("sql/cache-data-remove.sql"),
new ClassPathResource("sql/cache-data-insert.sql")
);
DatabasePopulatorUtils.execute(populator, cacheDataSource);
CacheManager.getInstance().clearAll();
controlTagCache.init();
processCache.init();
dataTagCache.init();
equipmentCache.init();
aliveTimerCache.init();
commFaultTagCache.init();
subEquipmentCache.init();
alarmCache.init();
ruleTagCache.init();
commandTagCache.init();
deviceClassCache.init();
deviceCache.init();
}
示例7: build
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
public DataSource build() {
DataSource dataSource;
if (url == null || url.contains("hsqldb:mem")) {
// Start an in-process, in-memory HSQL server
dataSource = new EmbeddedDatabaseBuilder().setType(HSQL).setName("c2mondb").build();
} else if (url.contains("hsql://")) {
// Start an externally visible, file-based HSQL server
HsqlServer.start("file:///tmp/c2mondb", "c2mondb");
url += ";sql.syntax_ora=true;hsqldb.default_table_type=cached;hsqldb.cache_rows=1000;hsqldb.result_max_memory_rows=2000;hsqldb.cache_size=100";
dataSource = DataSourceBuilder.create().url(url).username(username).password(password).build();
} else {
throw new RuntimeException("The given URL was not a valid HSQL JDBC URL!");
}
if (!scripts.isEmpty()) {
ResourceDatabasePopulator populator = new ResourceDatabasePopulator(scripts.toArray(new Resource[scripts.size()]));
populator.setContinueOnError(true);
DatabasePopulatorUtils.execute(populator, dataSource);
}
return dataSource;
}
示例8: batchMetaDataDataSource
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Bean(initMethod = "init", destroyMethod = "close")
public PoolingDataSource batchMetaDataDataSource() {
PoolingDataSource ds = new PoolingDataSource();
ds.setClassName(org.hsqldb.jdbc.pool.JDBCXADataSource.class.getName());
ds.setUniqueName("batchdb");
ds.setMaxPoolSize(100);
Properties props = new Properties();
props.setProperty("databaseName", "spring-batch-metadata");
// props.setProperty("createDatabase", "create");
ds.setDriverProperties(props);
ds.setAllowLocalTransactions(true);
final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.addScript(batchDropSchemaScript);
populator.addScript(batchCreateSchemaScript);
DatabasePopulatorUtils.execute(populator, ds);
return ds;
}
示例9: applicationDataSource
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Bean(initMethod = "init", destroyMethod = "close")
public PoolingDataSource applicationDataSource() {
PoolingDataSource ds = new PoolingDataSource();
ds.setClassName(org.hsqldb.jdbc.pool.JDBCXADataSource.class.getName());
ds.setUniqueName("appdb");
ds.setMaxPoolSize(100);
final Properties props = new Properties();
props.setProperty("databaseName", "chapter09-application");
// props.setProperty("createDatabase", "create");
ds.setDriverProperties(props);
ds.setAllowLocalTransactions(true);
final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.addScript(dropTablesScript);
populator.addScript(createTableScript);
DatabasePopulatorUtils.execute(populator, ds);
return ds;
}
示例10: runScripts
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
private void runScripts(List<Resource> resources, String username, String password) {
if (resources.isEmpty()) {
return;
}
ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.setContinueOnError(this.properties.isContinueOnError());
populator.setSeparator(this.properties.getSeparator());
if (this.properties.getSqlScriptEncoding() != null) {
populator.setSqlScriptEncoding(this.properties.getSqlScriptEncoding().name());
}
for (Resource resource : resources) {
populator.addScript(resource);
}
DataSource dataSource = this.dataSource;
if (StringUtils.hasText(username) && StringUtils.hasText(password)) {
dataSource = DataSourceBuilder.create(this.properties.getClassLoader())
.driverClassName(this.properties.determineDriverClassName())
.url(this.properties.determineUrl()).username(username)
.password(password).build();
}
DatabasePopulatorUtils.execute(populator, dataSource);
}
示例11: destroy
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Override
public void destroy() {
if (this.databaseCleaner != null) {
DatabasePopulatorUtils.execute(this.databaseCleaner, getDataSource());
}
shutdownDatabase();
}
示例12: afterPropertiesSet
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Override
public void afterPropertiesSet() throws Exception {
if (dataSource != null && definitionInitializationEnable) {
String platform = getDatabaseType(dataSource);
if ("hsql".equals(platform)) {
platform = "hsqldb";
}
if ("postgres".equals(platform)) {
platform = "postgresql";
}
if ("oracle".equals(platform)) {
platform = "oracle10g";
}
ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
String schemaLocation = schema;
schemaLocation = schemaLocation.replace("@@[email protected]@", platform);
String commonSchemaLocation = schemaLocation;
commonSchemaLocation = commonSchemaLocation.replace("@@[email protected]@", COMMON_SCHEMA_SUFFIX);
logger.info(String.format("Adding dataflow schema %s for %s database", commonSchemaLocation,
platform));
populator.addScript(resourceLoader.getResource(commonSchemaLocation));
String applicationssSchemaLocation = schemaLocation;
applicationssSchemaLocation = applicationssSchemaLocation.replace("@@[email protected]@", APPLICATIONS_SCHEMA_SUFFIX);
logger.info(String.format("Adding dataflow schema %s for %s database", applicationssSchemaLocation,
platform));
populator.addScript(resourceLoader.getResource(applicationssSchemaLocation));
String deploymentSchemaLocation = schemaLocation;
deploymentSchemaLocation = deploymentSchemaLocation.replace("@@[email protected]@", DEPLOYMENT_SCHEMA_SUFFIX);
logger.info(String.format("Adding dataflow schema %s for %s database", deploymentSchemaLocation,
platform));
populator.addScript(resourceLoader.getResource(deploymentSchemaLocation));
populator.setContinueOnError(true);
logger.debug(String.format("Initializing dataflow schema for %s database", platform));
DatabasePopulatorUtils.execute(populator, dataSource);
}
}
示例13: initDatabase
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
/**
* Hook to initialize the embedded database.
* <p>If the {@code generateUniqueDatabaseName} flag has been set to {@code true},
* the current value of the {@linkplain #setDatabaseName database name} will
* be overridden with an auto-generated name.
* <p>Subclasses may call this method to force initialization; however,
* this method should only be invoked once.
* <p>After calling this method, {@link #getDataSource()} returns the
* {@link DataSource} providing connectivity to the database.
*/
protected void initDatabase() {
if (this.generateUniqueDatabaseName) {
setDatabaseName(UUID.randomUUID().toString());
}
// Create the embedded database first
if (this.databaseConfigurer == null) {
this.databaseConfigurer = EmbeddedDatabaseConfigurerFactory.getConfigurer(EmbeddedDatabaseType.HSQL);
}
this.databaseConfigurer.configureConnectionProperties(
this.dataSourceFactory.getConnectionProperties(), this.databaseName);
this.dataSource = this.dataSourceFactory.getDataSource();
if (logger.isInfoEnabled()) {
if (this.dataSource instanceof SimpleDriverDataSource) {
SimpleDriverDataSource simpleDriverDataSource = (SimpleDriverDataSource) this.dataSource;
logger.info(String.format("Starting embedded database: url='%s', username='%s'",
simpleDriverDataSource.getUrl(), simpleDriverDataSource.getUsername()));
}
else {
logger.info(String.format("Starting embedded database '%s'", this.databaseName));
}
}
// Now populate the database
if (this.databasePopulator != null) {
try {
DatabasePopulatorUtils.execute(this.databasePopulator, this.dataSource);
}
catch (RuntimeException ex) {
// failed to populate, so leave it as not initialized
shutdownDatabase();
throw ex;
}
}
}
示例14: getDataSource
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Bean
public DataSource getDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url + hostName + portNumber + databaseName + extraPram);
dataSource.setUsername(userName);
dataSource.setPassword(userPwd);
DatabasePopulatorUtils.execute(createDatabasePopulator(), dataSource);
return dataSource;
}
示例15: before
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; //导入方法依赖的package包/类
@Override
protected void before() {
ResourceDatabasePopulator populator = new ResourceDatabasePopulator(
new ClassPathResource("sql/cache-data-remove.sql"),
new ClassPathResource("sql/cache-data-insert.sql")
);
DatabasePopulatorUtils.execute(populator, cacheDataSource);
}