public class ResourceDatabasePopulator extends Object implements DatabasePopulator
addScript(org.springframework.core.io.Resource) to add a single SQL script location.
 addScripts(org.springframework.core.io.Resource...) to add multiple SQL script locations.
 populate(java.sql.Connection) or execute(javax.sql.DataSource) to initialize or clean up the
 database using the configured scripts.
 DatabasePopulatorUtils, 
ScriptUtils| Constructor and Description | 
|---|
| ResourceDatabasePopulator()Construct a new  ResourceDatabasePopulatorwith default settings. | 
| ResourceDatabasePopulator(boolean continueOnError,
                         boolean ignoreFailedDrops,
                         String sqlScriptEncoding,
                         Resource... scripts)Construct a new  ResourceDatabasePopulatorwith the supplied values. | 
| ResourceDatabasePopulator(Resource... scripts)Construct a new  ResourceDatabasePopulatorwith default settings
 for the supplied scripts. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addScript(Resource script)Add a script to execute to initialize or clean up the database. | 
| void | addScripts(Resource... scripts)Add multiple scripts to execute to initialize or clean up the database. | 
| void | execute(DataSource dataSource)Execute this  ResourceDatabasePopulatoragainst the givenDataSource. | 
| void | populate(Connection connection)Populate, initialize, or clean up the database using the provided JDBC
 connection. | 
| void | setBlockCommentEndDelimiter(String blockCommentEndDelimiter)Set the end delimiter that identifies block comments within the SQL
 scripts. | 
| void | setBlockCommentStartDelimiter(String blockCommentStartDelimiter)Set the start delimiter that identifies block comments within the SQL
 scripts. | 
| void | setCommentPrefix(String commentPrefix)Set the prefix that identifies single-line comments within the SQL scripts. | 
| void | setCommentPrefixes(String... commentPrefixes)Set the prefixes that identify single-line comments within the SQL scripts. | 
| void | setContinueOnError(boolean continueOnError)Flag to indicate that all failures in SQL should be logged but not cause a failure. | 
| void | setIgnoreFailedDrops(boolean ignoreFailedDrops)Flag to indicate that a failed SQL  DROPstatement can be ignored. | 
| void | setScripts(Resource... scripts)Set the scripts to execute to initialize or clean up the database,
 replacing any previously added scripts. | 
| void | setSeparator(String separator)Specify the statement separator, if a custom one. | 
| void | setSqlScriptEncoding(String sqlScriptEncoding)Specify the encoding for the configured SQL scripts,
 if different from the platform encoding. | 
public ResourceDatabasePopulator()
ResourceDatabasePopulator with default settings.public ResourceDatabasePopulator(Resource... scripts)
ResourceDatabasePopulator with default settings
 for the supplied scripts.scripts - the scripts to execute to initialize or clean up the database
 (never null)public ResourceDatabasePopulator(boolean continueOnError,
                                 boolean ignoreFailedDrops,
                                 @Nullable
                                 String sqlScriptEncoding,
                                 Resource... scripts)
ResourceDatabasePopulator with the supplied values.continueOnError - flag to indicate that all failures in SQL should be
 logged but not cause a failureignoreFailedDrops - flag to indicate that a failed SQL DROP
 statement can be ignoredsqlScriptEncoding - the encoding for the supplied SQL scripts
 (may be null or empty to indicate platform encoding)scripts - the scripts to execute to initialize or clean up the database
 (never null)public void addScript(Resource script)
script - the path to an SQL script (never null)public void addScripts(Resource... scripts)
scripts - the scripts to execute (never null)public void setScripts(Resource... scripts)
scripts - the scripts to execute (never null)public void setSqlScriptEncoding(@Nullable String sqlScriptEncoding)
sqlScriptEncoding - the encoding used in scripts
 (may be null or empty to indicate platform encoding)addScript(Resource)public void setSeparator(String separator)
Defaults to ";" if not specified and falls back to "\n"
 as a last resort; may be set to ScriptUtils.EOF_STATEMENT_SEPARATOR
 to signal that each script contains a single statement without a separator.
separator - the script statement separatorpublic void setCommentPrefix(String commentPrefix)
Defaults to "--".
commentPrefix - the prefix for single-line commentssetCommentPrefixes(String...)public void setCommentPrefixes(String... commentPrefixes)
Defaults to ["--"].
commentPrefixes - the prefixes for single-line commentspublic void setBlockCommentStartDelimiter(String blockCommentStartDelimiter)
Defaults to "/*".
blockCommentStartDelimiter - the start delimiter for block comments
 (never null or empty)setBlockCommentEndDelimiter(java.lang.String)public void setBlockCommentEndDelimiter(String blockCommentEndDelimiter)
Defaults to "*/".
blockCommentEndDelimiter - the end delimiter for block comments
 (never null or empty)setBlockCommentStartDelimiter(java.lang.String)public void setContinueOnError(boolean continueOnError)
Defaults to false.
continueOnError - true if script execution should continue on errorpublic void setIgnoreFailedDrops(boolean ignoreFailedDrops)
DROP statement can be ignored.
 This is useful for a non-embedded database whose SQL dialect does not
 support an IF EXISTS clause in a DROP statement.
 
The default is false so that if the populator runs accidentally, it will
 fail fast if a script starts with a DROP statement.
ignoreFailedDrops - true if failed drop statements should be ignoredpublic void populate(Connection connection) throws ScriptException
Concrete implementations may throw an SQLException if
 an error is encountered but are strongly encouraged to throw a
 specific ScriptException instead. For example, Spring's
 ResourceDatabasePopulator and DatabasePopulatorUtils wrap
 all SQLExceptions in ScriptExceptions.
populate in interface DatabasePopulatorconnection - the JDBC connection to use to populate the db; already
 configured and ready to use; never nullScriptException - in all other error casesexecute(DataSource)public void execute(DataSource dataSource) throws ScriptException
ResourceDatabasePopulator against the given
 DataSource.
 Delegates to DatabasePopulatorUtils.execute(org.springframework.jdbc.datasource.init.DatabasePopulator, javax.sql.DataSource).
dataSource - the DataSource to execute against (never null)ScriptException - if an error occurspopulate(Connection)