クラス AbstractTransactionalJUnit4SpringContextTests
- 実装されたすべてのインターフェース:
Aware
,ApplicationContextAware
AbstractJUnit4SpringContextTests
の抽象トランザクション拡張機能。DataSource
SE 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 int
countRowsInTable
(StringSE tableName) 指定されたテーブルの行をカウントするための簡易メソッド。protected int
countRowsInTableWhere
(StringSE tableName, StringSE whereClause) 指定されたWHERE
句を使用して、指定されたテーブルの行をカウントする簡易メソッド。protected int
deleteFromTables
(StringSE... names) 指定されたテーブルからすべての行を削除するための簡易メソッド。protected int
deleteFromTableWhere
(StringSE tableName, StringSE whereClause, ObjectSE... args) 提供されたWHERE
句を使用して、指定されたテーブルからすべての行を削除する簡易メソッド。protected void
dropTables
(StringSE... names) 指定されたすべてのテーブルを削除するための便利なメソッド。protected void
executeSqlScript
(StringSE sqlResourcePath, boolean continueOnError) 指定された SQL スクリプトを実行します。void
setDataSource
(DataSourceSE dataSource) 通常、依存性注入によって提供されるDataSource
を設定します。void
setSqlScriptEncoding
(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
- ステートメントの実行中にエラーが発生した場合- 関連事項: