/** * Specify the character encoding used in all SQL scripts, if different from * the platform encoding. * @param scriptEncoding the encoding used in scripts * @return {@code this}, to facilitate method chaining * @since 4.0.3 */ public EmbeddedDatabaseBuilder setScriptEncoding(String scriptEncoding) { this.databasePopulator.setSqlScriptEncoding(scriptEncoding); return this; }
/** * Construct a new {@code ResourceDatabasePopulator} with the supplied values. * @param continueOnError flag to indicate that all failures in SQL should be * logged but not cause a failure * @param ignoreFailedDrops flag to indicate that a failed SQL {@code DROP} * statement can be ignored * @param sqlScriptEncoding the encoding for the supplied SQL scripts; may * be {@code null} or <em>empty</em> to indicate platform encoding * @param scripts the scripts to execute to initialize or clean up the database * (never {@code null}) * @since 4.0.3 */ public ResourceDatabasePopulator(boolean continueOnError, boolean ignoreFailedDrops, @Nullable String sqlScriptEncoding, Resource... scripts) { this(scripts); this.continueOnError = continueOnError; this.ignoreFailedDrops = ignoreFailedDrops; setSqlScriptEncoding(sqlScriptEncoding); }
populator.setSqlScriptEncoding(mergedSqlConfig.getEncoding()); populator.setSeparator(mergedSqlConfig.getSeparator()); populator.setCommentPrefix(mergedSqlConfig.getCommentPrefix());
@Override public void setSqlScriptEncoding(String sqlScriptEncoding) { this.sqlScriptEncoding = sqlScriptEncoding; super.setSqlScriptEncoding(sqlScriptEncoding); }
/** * Specify the character encoding used in all SQL scripts, if different from * the platform encoding. * @param scriptEncoding the encoding used in scripts * @return {@code this}, to facilitate method chaining * @since 4.0.3 */ public EmbeddedDatabaseBuilder setScriptEncoding(String scriptEncoding) { this.databasePopulator.setSqlScriptEncoding(scriptEncoding); return this; }
/** * Construct a new {@code ResourceDatabasePopulator} with the supplied values. * @param continueOnError flag to indicate that all failures in SQL should be * logged but not cause a failure * @param ignoreFailedDrops flag to indicate that a failed SQL {@code DROP} * statement can be ignored * @param sqlScriptEncoding the encoding for the supplied SQL scripts; may * be {@code null} or <em>empty</em> to indicate platform encoding * @param scripts the scripts to execute to initialize or clean up the database * (never {@code null}) * @since 4.0.3 */ public ResourceDatabasePopulator(boolean continueOnError, boolean ignoreFailedDrops, @Nullable String sqlScriptEncoding, Resource... scripts) { this(scripts); this.continueOnError = continueOnError; this.ignoreFailedDrops = ignoreFailedDrops; setSqlScriptEncoding(sqlScriptEncoding); }
private ResourceDatabasePopulator createPopulator(ClassPathResource script) { logger.info("Creating database populator using script '{}'", script.getPath()); ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSeparator(DB_TYPE_ORACLE.equals(dbType) ? "/" : ";"); populator.setIgnoreFailedDrops(true); populator.setSqlScriptEncoding(UTF_8.name()); populator.addScript(script); return populator; }
private ResourceDatabasePopulator createPopulator(ClassPathResource script) { logger.info("Creating database populator using script '{}'", script.getPath()); ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSeparator(DB_TYPE_ORACLE.equals(dbType) ? "/" : ";"); populator.setIgnoreFailedDrops(true); populator.setSqlScriptEncoding(UTF_8.name()); populator.addScript(script); return populator; }
@Bean public ResourceDatabasePopulator databasePopulator() { ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSqlScriptEncoding("UTF-8"); populator.addScript(new ClassPathResource("setup_data.sql")); return populator; } @Bean public InitializingBean populatorExecutor() { return new InitializingBean() { @Override public void afterPropertiesSet() throws Exception { DatabasePopulatorUtils.execute(databasePopulator(), dataSource()); } }; }
@Bean @DependsOn("scriptsInitializer") public DataSourceInitializer createFunctionInitializer(final DataSource dataSource) { final DataSourceInitializer initializer = new DataSourceInitializer(); initializer.setDataSource(dataSource); final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSeparator("#"); populator.setSqlScriptEncoding(StandardCharsets.UTF_8.name()); populator.addScript(sqlCreateFunction); initializer.setDatabasePopulator(populator); initializer.setEnabled(isDatabaseInitializerEnabled()); return initializer; }
@Bean @DependsOn("scriptsInitializer") public DataSourceInitializer createFunctionInitializer(final DataSource dataSource) { final DataSourceInitializer initializer = new DataSourceInitializer(); initializer.setDataSource(dataSource); final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSeparator("#"); populator.setSqlScriptEncoding(StandardCharsets.UTF_8.name()); populator.addScript(sqlCreateFunction); initializer.setDatabasePopulator(populator); initializer.setEnabled(isDatabaseInitializerEnabled()); return initializer; }
private void runScripts(List<Resource> resources, DataSource dataSource, DataSourceProperties dataSourceProperties) { if (resources.isEmpty()) { return; } ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setContinueOnError(dataSourceProperties.isContinueOnError()); populator.setSeparator(dataSourceProperties.getSeparator()); if (dataSourceProperties.getSqlScriptEncoding() != null) { populator.setSqlScriptEncoding(dataSourceProperties.getSqlScriptEncoding().name()); } for (Resource resource : resources) { populator.addScript(resource); } DatabasePopulatorUtils.execute(populator, dataSource); }
@Bean @DependsOn("scriptsInitializer") public DataSourceInitializer createFunctionInitializer(final DataSource dataSource) { final DataSourceInitializer initializer = new DataSourceInitializer(); initializer.setDataSource(dataSource); final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSeparator("#"); populator.setSqlScriptEncoding("UTF-8"); populator.addScript(sqlCreateFunction); initializer.setDatabasePopulator(populator); initializer.setEnabled(isDatabaseInitializerEnabled()); return initializer; }
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); }
populator.setSqlScriptEncoding(mergedSqlConfig.getEncoding()); populator.setSeparator(mergedSqlConfig.getSeparator()); populator.setCommentPrefix(mergedSqlConfig.getCommentPrefix());
/** * DriverName: * 1:MySQL Connector Java; * 2:Oracle JDBC driver; * 3:H2 JDBC Driver * @throws SQLException */ @PostConstruct public void initData() throws SQLException { String dbDriverName = getDBDriveName(); Logger.info("当前数据库驱动名称:"+dbDriverName); Logger.info("检查是否需要初始化脚本"); Query query = new Query("from User"); Long userCount = commonRepository.count(query.getCount(), new HashMap<String, Object>()); if (userCount == 0) { Logger.info("开始进行初始化脚本"); ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSqlScriptEncoding("utf-8"); populator.addScript(dataScript); populator.populate(dataSource.getConnection()); Logger.info("初始化脚本已完成"); return; }else{ Logger.info("不需要初始化脚本"); } } /**
protected ResourceDatabasePopulator databasePopulator() { final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSqlScriptEncoding(StandardCharsets.UTF_8.name()); populator.addScript(drops); populator.addScript(sqlCreateTablesForm); populator.addScript(sqlCreateTables); populator.addScript(sqlCreateTablesEmail); populator.addScript(sqlCreateTablesActor); populator.addScript(sqlCreateSequencesServer); populator.addScript(sqlCreateSequencesForm); populator.addScript(sqlCreateSequencesEmail); populator.addScript(sqlCreateConstraints); populator.addScript(sqlCreateConstraintsForm); populator.addScript(insertSingularData); return populator; }
private DatabasePopulator databasePopulator() { final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSqlScriptEncoding("UTF-8"); if (!SingularProperties.get().isFalse("anvisa.enabled.h2.inserts")) { populator.addScript(drops); populator.addScript(createTables); populator.addScript(inserts); populator.addScript(insertGeral); populator.addScript(createTablesAnvisa); populator.addScript(insertUsuario); } return populator; }
protected ResourceDatabasePopulator databasePopulator() { final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSqlScriptEncoding(StandardCharsets.UTF_8.name()); populator.addScript(drops); populator.addScript(sqlCreateTablesForm); populator.addScript(sqlCreateTables); populator.addScript(sqlCreateTablesEmail); populator.addScript(sqlCreateTablesActor); populator.addScript(sqlCreateSequencesServer); populator.addScript(sqlCreateSequencesForm); populator.addScript(sqlCreateSequencesEmail); populator.addScript(sqlCreateConstraints); populator.addScript(sqlCreateConstraintsForm); populator.addScript(insertSingularData); return populator; }
protected ResourceDatabasePopulator databasePopulator() { final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setSqlScriptEncoding("UTF-8"); populator.addScript(drops); populator.addScript(sqlCreateTablesForm); populator.addScript(sqlCreateTables); populator.addScript(sqlCreateTablesActor); populator.addScript(sqlCreateSequencesServer); populator.addScript(sqlCreateSequencesForm); populator.addScript(sqlCreateConstraints); populator.addScript(sqlCreateConstraintsForm); populator.addScript(insertDadosSingular); return populator; }