當前位置: 首頁>>代碼示例>>Java>>正文


Java ResourceDatabasePopulator類代碼示例

本文整理匯總了Java中org.springframework.jdbc.datasource.init.ResourceDatabasePopulator的典型用法代碼示例。如果您正苦於以下問題:Java ResourceDatabasePopulator類的具體用法?Java ResourceDatabasePopulator怎麽用?Java ResourceDatabasePopulator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ResourceDatabasePopulator類屬於org.springframework.jdbc.datasource.init包,在下文中一共展示了ResourceDatabasePopulator類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: initialize

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的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);
	}
}
 
開發者ID:philwebb,項目名稱:spring-boot-concourse,代碼行數:22,代碼來源:BatchDatabaseInitializer.java

示例2: herdDataSource

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的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;
}
 
開發者ID:FINRAOS,項目名稱:herd,代碼行數:27,代碼來源:DaoEnvTestSpringModuleConfig.java

示例3: conf

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
@Test
public void conf() throws Exception {
    // 1. migrate
    String[] args = new String[4];
    args[0] = "migrate";
    args[1] = "--conf";
    args[2] = BASE_PATH + File.separator + "content12.xml";
    args[3] = BASE_PATH + File.separator + "MasterContent.xml";

    new MigrateCommand().execute(new Input(args));

    // 2. initialize db as persistence-jpa does
    DataSource dataSource = new DriverManagerDataSource("jdbc:h2:mem:syncopedb;DB_CLOSE_DELAY=-1", "sa", null);

    new ResourceDatabasePopulator(new ClassPathResource("/schema20.sql")).execute(dataSource);

    // 3. attempt to set initial content from the migrated MasterContent.xml
    SAXParserFactory factory = SAXParserFactory.newInstance();
    try (InputStream in = new FileInputStream(args[3])) {

        SAXParser parser = factory.newSAXParser();
        parser.parse(in, new ContentLoaderHandler(dataSource, ROOT_ELEMENT, false));
    }
}
 
開發者ID:apache,項目名稱:syncope,代碼行數:25,代碼來源:MigrateTest.java

示例4: runScripts

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的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);
}
 
開發者ID:muxiangqiu,項目名稱:spring-boot-multidatasource,代碼行數:23,代碼來源:DataSourceInitializer.java

示例5: runScripts

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的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);
}
 
開發者ID:holon-platform,項目名稱:holon-jdbc,代碼行數:18,代碼來源:DataContextDataSourceInitializer.java

示例6: createTable

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
protected void createTable() {
	StringBuilder sb = new StringBuilder();
	sb.append("CREATE TABLE  if not exists `leopard_domainwhitelist` (");
	sb.append("`domain` varchar(50) NOT NULL DEFAULT '',");
	sb.append("`username` varchar(50) NOT NULL DEFAULT '',");
	sb.append("`posttime` datetime NOT NULL DEFAULT '1970-01-01 00:00:00',");
	sb.append("`comment` varchar(255) NOT NULL DEFAULT '',");
	sb.append("PRIMARY KEY (`domain`)");
	sb.append(");");
	String sql = sb.toString();

	Resource scripts = new ByteArrayResource(sql.getBytes());
	DatabasePopulator populator = new ResourceDatabasePopulator(scripts);
	try {
		DatabasePopulatorUtils.execute(populator, jdbcTemplate.getDataSource());
	}
	catch (ScriptStatementFailedException e) {

	}
}
 
開發者ID:tanhaichao,項目名稱:leopard,代碼行數:21,代碼來源:DomainWhiteListConfigImpl.java

示例7: nonBootDataSourceInitializer

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
@ConditionalOnProperty("pgcopy.initialize")
@Bean
public DataSourceInitializer nonBootDataSourceInitializer(DataSource dataSource, ResourceLoader resourceLoader) {
	DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
	dataSourceInitializer.setDataSource(dataSource);
	ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
	databasePopulator.setIgnoreFailedDrops(true);
	dataSourceInitializer.setDatabasePopulator(databasePopulator);
	if ("true".equals(properties.getInitialize())) {
		databasePopulator.addScript(new DefaultInitializationScriptResource(properties.getTableName(),
				properties.getColumns()));
	} else {
		databasePopulator.addScript(resourceLoader.getResource(properties.getInitialize()));
	}
	return dataSourceInitializer;
}
 
開發者ID:spring-cloud-stream-app-starters,項目名稱:jdbc,代碼行數:17,代碼來源:PgcopySinkConfiguration.java

示例8: nonBootDataSourceInitializer

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
@ConditionalOnProperty("jdbc.initialize")
@Bean
public DataSourceInitializer nonBootDataSourceInitializer(DataSource dataSource, ResourceLoader resourceLoader) {
	DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
	dataSourceInitializer.setDataSource(dataSource);
	ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
	databasePopulator.setIgnoreFailedDrops(true);
	dataSourceInitializer.setDatabasePopulator(databasePopulator);
	if ("true".equals(properties.getInitialize())) {
		databasePopulator.addScript(new DefaultInitializationScriptResource(properties.getTableName(),
				properties.getColumnsMap().keySet()));
	}
	else {
		databasePopulator.addScript(resourceLoader.getResource(properties.getInitialize()));
	}
	return dataSourceInitializer;
}
 
開發者ID:spring-cloud-stream-app-starters,項目名稱:jdbc,代碼行數:18,代碼來源:JdbcSinkConfiguration.java

示例9: before

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的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();
}
 
開發者ID:c2mon,項目名稱:c2mon,代碼行數:23,代碼來源:RuleCachePopulationRule.java

示例10: build

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的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;
}
 
開發者ID:c2mon,項目名稱:c2mon,代碼行數:25,代碼來源:HsqlDatabaseBuilder.java

示例11: executeSql

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
protected void executeSql(String path) {
    logger.info("executeSql : " + path);

    Resource resource = new ClassPathResource(path, getClass());
    ResourceDatabasePopulator rdp = new ResourceDatabasePopulator();
    rdp.addScript(resource);
    rdp.setSqlScriptEncoding("UTF-8");
    rdp.setIgnoreFailedDrops(true);
    rdp.setContinueOnError(false);

    try (Connection conn = DataSourceUtils.getConnection(dataSource)) {
        rdp.populate(conn);
    }
    catch (Exception e) {
        throw new IllegalStateException("executeSql failed, path=" + path, e);
    }
}
 
開發者ID:af-not-found,項目名稱:blog-java2,代碼行數:18,代碼來源:SpringTestBase.java

示例12: serverStartup

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
@Override
public void serverStartup()
{
    LOG.info("Initializing MySQL DB for highlighter");
    try (Connection connection = DriverManager.getConnection(url, user, password))
    {
        final ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
        resourceDatabasePopulator.setContinueOnError(true);
        resourceDatabasePopulator.addScript(new FileSystemResource("../webapps/ROOT/plugins/highlighter-plugin/sql/mysql_init_db.sql"));
        resourceDatabasePopulator.addScript(new FileSystemResource("../webapps/ROOT/plugins/highlighter-plugin/sql/mysql_init_table.sql"));
        resourceDatabasePopulator.populate(connection);

        LOG.info("Initialization complete!");
    }
    catch (Exception e)
    {
        LOG.log(Level.SEVERE, "MySQL DB initialization failed for highlighter", e);
    }
}
 
開發者ID:jpfeffer,項目名稱:teamcity-highlighter,代碼行數:20,代碼來源:MySQLDBAdapter.java

示例13: applyScripts

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
private void applyScripts(String url) throws SQLException, IOException {
    log.info("Apply Scripts ...");
    Connection connection = getConnection(url);
    DataSource ds = new SingleConnectionDataSource(connection, false);
    FileSystemScanner scanner = new FileSystemScanner();
    for (String location : builder.locations) {
        File directory = new File(location);
        if (directory.exists() && directory.isDirectory()) {
            Resource[] resources = scanner.scanForResources(location, "", ".sql");
            ResourceDatabasePopulator populator = new ResourceDatabasePopulator(resources);
            populator.setSeparator(builder.separator);
            populator.execute(ds);
        } else {
            // log not existing directory
        }
    }
    log.info("Scripts applied!");
}
 
開發者ID:zalando-stups,項目名稱:booties,代碼行數:19,代碼來源:PostgreSqlRule.java

示例14: contextInitialized

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
@Override
public void contextInitialized(final ServletContextEvent sce) {
    ServletContext context = sce.getServletContext();
    WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);

    try {
        Server h2TestDb = new Server();
        h2TestDb.runTool("-tcp", "-tcpDaemon", "-web", "-webDaemon",
                "-webPort", ctx.getBean("testdb.webport", String.class));

        context.setAttribute(H2_TESTDB, h2TestDb);
    } catch (SQLException e) {
        LOG.error("Could not start H2 test db", e);
    }

    DataSource datasource = ctx.getBean(DataSource.class);

    ResourceDatabasePopulator populator = new ResourceDatabasePopulator(ctx.getResource("classpath:/testdb.sql"));
    populator.setSqlScriptEncoding("UTF-8");
    DataSourceInitializer init = new DataSourceInitializer();
    init.setDataSource(datasource);
    init.setEnabled(true);
    init.setDatabasePopulator(populator);
    init.afterPropertiesSet();
    LOG.info("Database successfully initialized");
}
 
開發者ID:apache,項目名稱:syncope,代碼行數:27,代碼來源:H2StartStopListener.java

示例15: populateDatabase

import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; //導入依賴的package包/類
@Bean
@Lazy(false)
public ResourceDatabasePopulator populateDatabase() throws SQLException {
    final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
    populator.addScript(new ClassPathResource("data.sql"));

    Connection connection = null;

    try {
        connection = DataSourceUtils.getConnection(dataSource());
        populator.populate(connection);
    } finally {
        if (connection != null) {
            DataSourceUtils.releaseConnection(connection, dataSource());
        }
    }

    return populator;
}
 
開發者ID:mhmxs,項目名稱:SpringClips,代碼行數:20,代碼來源:PersistenceConfigurarion.java


注:本文中的org.springframework.jdbc.datasource.init.ResourceDatabasePopulator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。