类 EmbeddedDatabaseBuilder
- java.lang.Object
- org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder
public class EmbeddedDatabaseBuilder extends Object
A builder that provides a convenient API for constructing an embedded database.Usage Example
EmbeddedDatabase db = new EmbeddedDatabaseBuilder() .generateUniqueName(true) .setType(H2) .setScriptEncoding("UTF-8") .ignoreFailedDrops(true) .addScript("schema.sql") .addScripts("user_data.sql", "country_data.sql") .build(); // perform actions against the db (EmbeddedDatabase extends javax.sql.DataSource) db.shutdown();- 从以下版本开始:
- 3.0
- 作者:
- Keith Donald, Juergen Hoeller, Dave Syer, Sam Brannen
- 另请参阅:
ScriptUtils,ResourceDatabasePopulator,DatabasePopulatorUtils
构造器概要
构造器 构造器 说明 EmbeddedDatabaseBuilder()Create a new embedded database builder with aDefaultResourceLoader.EmbeddedDatabaseBuilder(ResourceLoader resourceLoader)Create a new embedded database builder with the givenResourceLoader.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 EmbeddedDatabaseBuilderaddDefaultScripts()Add default SQL scripts to execute to populate the database.EmbeddedDatabaseBuilderaddScript(String script)Add an SQL script to execute to initialize or populate the database.EmbeddedDatabaseBuilderaddScripts(String... scripts)Add multiple SQL scripts to execute to initialize or populate the database.EmbeddedDatabasebuild()Build the embedded database.EmbeddedDatabaseBuildercontinueOnError(boolean flag)Specify that all failures which occur while executing SQL scripts should be logged but should not cause a failure.EmbeddedDatabaseBuildergenerateUniqueName(boolean flag)Specify whether a unique ID should be generated and used as the database name.EmbeddedDatabaseBuilderignoreFailedDrops(boolean flag)Specify that a failed SQLDROPstatement within an executed script can be ignored.EmbeddedDatabaseBuildersetBlockCommentEndDelimiter(String blockCommentEndDelimiter)Specify the end delimiter for block comments in all SQL scripts.EmbeddedDatabaseBuildersetBlockCommentStartDelimiter(String blockCommentStartDelimiter)Specify the start delimiter for block comments in all SQL scripts.EmbeddedDatabaseBuildersetCommentPrefix(String commentPrefix)Specify the single-line comment prefix used in all SQL scripts.EmbeddedDatabaseBuildersetCommentPrefixes(String... commentPrefixes)Specify the prefixes that identify single-line comments within all SQL scripts.EmbeddedDatabaseBuildersetDataSourceFactory(DataSourceFactory dataSourceFactory)Set the factory to use to create theDataSourceinstance that connects to the embedded database.EmbeddedDatabaseBuildersetName(String databaseName)Set the name of the embedded database.EmbeddedDatabaseBuildersetScriptEncoding(String scriptEncoding)Specify the character encoding used in all SQL scripts, if different from the platform encoding.EmbeddedDatabaseBuildersetSeparator(String separator)Specify the statement separator used in all SQL scripts, if a custom one.EmbeddedDatabaseBuildersetType(EmbeddedDatabaseType databaseType)Set the type of embedded database.
构造器详细资料
EmbeddedDatabaseBuilder
public EmbeddedDatabaseBuilder()
Create a new embedded database builder with aDefaultResourceLoader.
EmbeddedDatabaseBuilder
public EmbeddedDatabaseBuilder(ResourceLoader resourceLoader)
Create a new embedded database builder with the givenResourceLoader.- 参数:
resourceLoader- theResourceLoaderto delegate to
方法详细资料
generateUniqueName
public EmbeddedDatabaseBuilder generateUniqueName(boolean flag)
Specify whether a unique ID should be generated and used as the database name.If the configuration for this builder is reused across multiple application contexts within a single JVM, this flag should be enabled (i.e., set to
true) in order to ensure that each application context gets its own embedded database.Enabling this flag overrides any explicit name set via
setName(java.lang.String).- 参数:
flag-trueif a unique database name should be generated- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.2
- 另请参阅:
setName(java.lang.String)
setName
public EmbeddedDatabaseBuilder setName(String databaseName)
Set the name of the embedded database.Defaults to
EmbeddedDatabaseFactory.DEFAULT_DATABASE_NAMEif not called.Will be overridden if the
generateUniqueNameflag has been set totrue.- 参数:
databaseName- the name of the embedded database to build- 返回:
this, to facilitate method chaining- 另请参阅:
generateUniqueName(boolean)
setType
public EmbeddedDatabaseBuilder setType(EmbeddedDatabaseType databaseType)
Set the type of embedded database.Defaults to HSQL if not called.
- 参数:
databaseType- the type of embedded database to build- 返回:
this, to facilitate method chaining
setDataSourceFactory
public EmbeddedDatabaseBuilder setDataSourceFactory(DataSourceFactory dataSourceFactory)
Set the factory to use to create theDataSourceinstance that connects to the embedded database.Defaults to
SimpleDriverDataSourceFactorybut can be overridden, for example to introduce connection pooling.- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
addDefaultScripts
public EmbeddedDatabaseBuilder addDefaultScripts()
Add default SQL scripts to execute to populate the database.The default scripts are
"schema.sql"to create the database schema and"data.sql"to populate the database with data.- 返回:
this, to facilitate method chaining
addScript
public EmbeddedDatabaseBuilder addScript(String script)
Add an SQL script to execute to initialize or populate the database.- 参数:
script- the script to execute- 返回:
this, to facilitate method chaining
addScripts
public EmbeddedDatabaseBuilder addScripts(String... scripts)
Add multiple SQL scripts to execute to initialize or populate the database.- 参数:
scripts- the scripts to execute- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
setScriptEncoding
public EmbeddedDatabaseBuilder setScriptEncoding(String scriptEncoding)
Specify the character encoding used in all SQL scripts, if different from the platform encoding.- 参数:
scriptEncoding- the encoding used in scripts- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
setSeparator
public EmbeddedDatabaseBuilder setSeparator(String separator)
Specify the statement separator used in all SQL scripts, if a custom one.Defaults to
";"if not specified and falls back to"\n"as a last resort; may be set toScriptUtils.EOF_STATEMENT_SEPARATORto signal that each script contains a single statement without a separator.- 参数:
separator- the statement separator- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
setCommentPrefix
public EmbeddedDatabaseBuilder setCommentPrefix(String commentPrefix)
Specify the single-line comment prefix used in all SQL scripts.Defaults to
"--".- 参数:
commentPrefix- the prefix for single-line comments- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
- 另请参阅:
setCommentPrefixes(String...)
setCommentPrefixes
public EmbeddedDatabaseBuilder setCommentPrefixes(String... commentPrefixes)
Specify the prefixes that identify single-line comments within all SQL scripts.Defaults to
["--"].- 参数:
commentPrefixes- the prefixes for single-line comments- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 5.2
setBlockCommentStartDelimiter
public EmbeddedDatabaseBuilder setBlockCommentStartDelimiter(String blockCommentStartDelimiter)
Specify the start delimiter for block comments in all SQL scripts.Defaults to
"/*".- 参数:
blockCommentStartDelimiter- the start delimiter for block comments- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
- 另请参阅:
setBlockCommentEndDelimiter(java.lang.String)
setBlockCommentEndDelimiter
public EmbeddedDatabaseBuilder setBlockCommentEndDelimiter(String blockCommentEndDelimiter)
Specify the end delimiter for block comments in all SQL scripts.Defaults to
"*/".- 参数:
blockCommentEndDelimiter- the end delimiter for block comments- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
- 另请参阅:
setBlockCommentStartDelimiter(java.lang.String)
continueOnError
public EmbeddedDatabaseBuilder continueOnError(boolean flag)
Specify that all failures which occur while executing SQL scripts should be logged but should not cause a failure.Defaults to
false.- 参数:
flag-trueif script execution should continue on error- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
ignoreFailedDrops
public EmbeddedDatabaseBuilder ignoreFailedDrops(boolean flag)
Specify that a failed SQLDROPstatement within an executed script can be ignored.This is useful for a database whose SQL dialect does not support an
IF EXISTSclause in aDROPstatement.The default is
falseso thatbuildingwill fail fast if a script starts with aDROPstatement.- 参数:
flag-trueif failed drop statements should be ignored- 返回:
this, to facilitate method chaining- 从以下版本开始:
- 4.0.3
build
public EmbeddedDatabase build()
Build the embedded database.- 返回:
- the embedded database