クラス AbstractTransactionalJUnit4SpringContextTests
- 実装されているすべてのインターフェース:
Aware,ApplicationContextAware
AbstractJUnit4SpringContextTests の抽象トランザクション拡張機能。DataSourceSE Bean および PlatformTransactionManager Bean が Spring アプリケーションコンテキストで定義されることが期待されます。 このクラスは JdbcTemplate を公開し、テーブル内の行数カウント、(WHERE 句を使用する可能性があり)、テーブルから削除、テーブルのドロップ、トランザクション内で SQL スクリプトを実行する簡単な方法を提供します。
具象サブクラスは、AbstractJUnit4SpringContextTests で概説されている同じ要件を満たさなければなりません。
このクラスは、拡張の便宜としてのみ機能します。
- テストクラスを Spring 固有のクラス階層に関連付けたくない場合は、
SpringRunner、@ContextConfiguration、@TestExecutionListenersなどを使用して独自のカスタムテストクラスを構成できます。 - このクラスを継承して
SpringRunner以外のランナーを使用する場合は、Spring Framework 4.2 以降、SpringClassRuleとSpringMethodRuleを使用して、@RunWith(...)で選択したランナーを指定できます。
注意 : このクラスには、JUnit 4.12 以上が必要です。
フィールドのサマリー
フィールドクラス org.springframework.test.context.junit4. AbstractJUnit4SpringContextTests から継承されたフィールド
applicationContext, loggerコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected intcountRowsInTable(StringSE tableName) 指定されたテーブルの行をカウントするための簡易メソッド。protected intcountRowsInTableWhere(StringSE tableName, StringSE whereClause) 指定されたWHERE句を使用して、指定されたテーブルの行をカウントする簡易メソッド。protected intdeleteFromTables(StringSE... names) 指定されたテーブルからすべての行を削除するための簡易メソッド。protected intdeleteFromTableWhere(StringSE tableName, StringSE whereClause, ObjectSE... args) 提供されたWHERE句を使用して、指定されたテーブルからすべての行を削除する簡易メソッド。protected voiddropTables(StringSE... names) 指定されたすべてのテーブルを削除するための便利なメソッド。protected voidexecuteSqlScript(StringSE sqlResourcePath, boolean continueOnError) 指定された SQL スクリプトを実行します。voidsetDataSource(DataSourceSE dataSource) 通常、依存性注入によって提供されるDataSourceを設定します。voidsetSqlScriptEncoding(StringSE sqlScriptEncoding) プラットフォームのエンコーディングと異なる場合は、SQL スクリプトのエンコーディングを指定します。クラス org.springframework.test.context.junit4. AbstractJUnit4SpringContextTests から継承されたメソッド
setApplicationContext
フィールドの詳細
jdbcTemplate
この基本クラスが管理するJdbcTemplate。サブクラスで使用できます。- 導入:
- 3.2
コンストラクターの詳細
AbstractTransactionalJUnit4SpringContextTests
public AbstractTransactionalJUnit4SpringContextTests()
メソッドの詳細
setDataSource
通常、依存性注入によって提供されるDataSourceを設定します。このメソッドは、
jdbcTemplateインスタンス変数もインスタンス化します。setSqlScriptEncoding
プラットフォームのエンコーディングと異なる場合は、SQL スクリプトのエンコーディングを指定します。countRowsInTable
指定されたテーブルの行をカウントするための簡易メソッド。- パラメーター:
tableName- 行をカウントするテーブル名- 戻り値:
- テーブルの行数
- 関連事項:
countRowsInTableWhere
指定されたWHERE句を使用して、指定されたテーブルの行をカウントする簡易メソッド。詳細については、
JdbcTestUtils.countRowsInTableWhere(org.springframework.jdbc.core.JdbcOperations, java.lang.String, java.lang.String)の Javadoc を参照してください。- パラメーター:
tableName- 行をカウントするテーブルの名前whereClause- クエリに追加するWHERE句- 戻り値:
- 指定された
WHERE句に一致するテーブル内の行の数 - 導入:
- 3.2
- 関連事項:
deleteFromTables
指定されたテーブルからすべての行を削除するための簡易メソッド。トランザクション以外では注意して使用してください!
- パラメーター:
names- 削除するテーブルの名前- 戻り値:
- 指定されたすべてのテーブルから削除された行の総数
- 関連事項:
deleteFromTableWhere
提供されたWHERE句を使用して、指定されたテーブルからすべての行を削除する簡易メソッド。トランザクション以外では注意して使用してください!
詳細については、
JdbcTestUtils.deleteFromTableWhere(org.springframework.jdbc.core.JdbcOperations, java.lang.String, java.lang.String, java.lang.Object...)の Javadoc を参照してください。- パラメーター:
tableName- 行を削除するテーブルの名前whereClause- クエリに追加するWHERE句args- クエリにバインドする引数(対応する SQL 型を推測するためにPreparedStatementに残します)。引数値だけでなく、SQL 型とオプションでスケールも示すSqlParameterValueオブジェクトを含めることもできます。- 戻り値:
- テーブルから削除された行数
- 導入:
- 4.0
- 関連事項:
dropTables
指定されたすべてのテーブルを削除するための便利なメソッド。トランザクション以外では注意して使用してください!
- パラメーター:
names- 削除するテーブルの名前- 導入:
- 3.2
- 関連事項:
executeSqlScript
protected void executeSqlScript(StringSE sqlResourcePath, boolean continueOnError) throws DataAccessException 指定された SQL スクリプトを実行します。トランザクション以外では注意して使用してください!
スクリプトは通常、クラスパスによってロードされます。
ロールバックが予想される場合は、このメソッドを使用して DDL を実行しないでください。
- パラメーター:
sqlResourcePath- SQL スクリプトの Spring リソースパスcontinueOnError- エラーが発生した場合に例外をスローせずに続行するかどうか- 例外:
DataAccessException- ステートメントの実行中にエラーが発生した場合- 関連事項: