public class EmbeddedDatabaseFactory extends ObjectSE
EmbeddedDatabase インスタンスを作成するためのファクトリ。呼び出し元は、返されたデータベースが完全に初期化され、入力されていることが保証されています。
ファクトリは次のように構成できます。
generateUniqueDatabaseName を呼び出して、データベースに一意のランダムな名前を設定します。setDatabaseName(java.lang.String) を呼び出して、データベースに明示的な名前を設定します。setDatabaseType(org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType) を呼び出してデータベース型を設定します。setDatabaseConfigurer(org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseConfigurer) を呼び出して、カスタム組み込みデータベース型のサポートを構成します。setDatabasePopulator(org.springframework.jdbc.datasource.init.DatabasePopulator) を呼び出して、データベースの入力に使用されるアルゴリズムを変更します。setDataSourceFactory(org.springframework.jdbc.datasource.embedded.DataSourceFactory) を呼び出して、データベースへの接続に使用される DataSourceSE の型を変更します。 ファクトリを構成した後、getDatabase() を呼び出して、EmbeddedDatabase インスタンスへの参照を取得します。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | DEFAULT_DATABASE_NAME 組み込みデータベースのデフォルト名: "testdb" |
| コンストラクターと説明 |
|---|
EmbeddedDatabaseFactory() |
| 修飾子と型 | メソッドと説明 |
|---|---|
EmbeddedDatabase | getDatabase() 組み込みデータベースインスタンスを返すファクトリメソッド。これも DataSourceSE です。 |
protected DataSourceSE | getDataSource() 組み込みデータベースへの接続を提供する DataSourceSE を取得するフック。 |
protected void | initDatabase() 組み込みデータベースを初期化するためのフック。 |
void | setDatabaseConfigurer(EmbeddedDatabaseConfigurer configurer) 組み込みデータベースインスタンスの構成に使用する戦略を設定します。 |
void | setDatabaseName(StringSE databaseName) データベースの名前を設定します。 |
void | setDatabasePopulator(DatabasePopulator populator) 組み込みデータベースの初期化またはデータ投入に使用される戦略を設定します。 |
void | setDatabaseType(EmbeddedDatabaseType type) 使用する組み込みデータベースの型を設定します。 |
void | setDataSourceFactory(DataSourceFactory dataSourceFactory) 組み込みデータベースに接続する DataSourceSE インスタンスの作成に使用するファクトリを設定します。 |
void | setGenerateUniqueDatabaseName(boolean generateUniqueDatabaseName)generateUniqueDatabaseName フラグを設定して、データベース名として使用される疑似ランダム固有 ID の生成を有効または無効にします。 |
protected void | shutdownDatabase() 組み込みデータベースをシャットダウンするためのフック。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void setGenerateUniqueDatabaseName(boolean generateUniqueDatabaseName)
generateUniqueDatabaseName フラグを設定して、データベース名として使用される疑似ランダム固有 ID の生成を有効または無効にします。 このフラグを true に設定すると、setDatabaseName(java.lang.String) を介して設定された明示的な名前が上書きされます。
setDatabaseName(java.lang.String)public void setDatabaseName(StringSE databaseName)
デフォルトは "testdb" です。
generateUniqueDatabaseName フラグが true に設定されている場合はオーバーライドされます。
databaseName - 組み込みデータベースの名前 setGenerateUniqueDatabaseName(boolean)public void setDataSourceFactory(DataSourceFactory dataSourceFactory)
DataSourceSE インスタンスの作成に使用するファクトリを設定します。 デフォルトは SimpleDriverDataSourceFactory です。
public void setDatabaseType(EmbeddedDatabaseType type)
事前にサポートされている型の 1 つを構成する場合に、これを呼び出します。
デフォルトは HSQL です。
type - データベースの型 public void setDatabaseConfigurer(EmbeddedDatabaseConfigurer configurer)
まだサポートされていない組み込みデータベース型を使用する場合は、これを呼び出します。
public void setDatabasePopulator(DatabasePopulator populator)
デフォルトは null です。
public EmbeddedDatabase getDatabase()
DataSourceSE です。protected void initDatabase()
generateUniqueDatabaseName フラグが true に設定されている場合、データベース名の現在の値は自動生成された名前で上書きされます。
サブクラスはこのメソッドを呼び出して強制的に初期化することができます。ただし、このメソッドは一度だけ呼び出す必要があります。
このメソッドを呼び出した後、getDataSource() はデータベースへの接続を提供する DataSourceSE を返します。
protected void shutdownDatabase()
呼び出し後、getDataSource() は null を返します。
組み込みデータベースが初期化されていない場合は何もしません。
@Nullable protected final DataSourceSE getDataSource()
DataSourceSE を取得するフック。DataSource が初期化されていない場合、またはデータベースがシャットダウンされている場合は、null を返します。サブクラスはこのメソッドを呼び出して、DataSource インスタンスに直接アクセスできます。