クラス AbstractTransactionalTestNGSpringContextTests

java.lang.ObjectSE
org.springframework.test.context.testng.AbstractTestNGSpringContextTests
org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests
実装されているすべてのインターフェース:
Aware, ApplicationContextAware, org.testng.IHookable, org.testng.ITestNGListener

@Transactional public abstract class AbstractTransactionalTestNGSpringContextTests extends AbstractTestNGSpringContextTests
JDBC アクセスに便利な機能を追加する、AbstractTestNGSpringContextTests の抽象トランザクション拡張機能。DataSourceSE Bean および PlatformTransactionManager Bean が Spring アプリケーションコンテキストで定義されることが期待されます。

このクラスは JdbcTemplate を公開し、テーブル内の行数カウント、(WHERE 句を使用する可能性があり)、テーブルから削除テーブルのドロップ、トランザクション内で SQL スクリプトを実行する簡単な方法を提供します。

具象サブクラスは、AbstractTestNGSpringContextTests で概説されている同じ要件を満たさなければなりません。

導入:
2.5
作成者:
Sam Brannen, Juergen Hoeller
関連事項:
  • フィールドの詳細

    • jdbcTemplate

      protected final JdbcTemplate jdbcTemplate
      この基本クラスが管理する JdbcTemplate。サブクラスで使用できます。
      導入:
      3.2
  • コンストラクターの詳細

    • AbstractTransactionalTestNGSpringContextTests

      public AbstractTransactionalTestNGSpringContextTests()
  • メソッドの詳細

    • setDataSource

      @Autowired public void setDataSource(DataSourceSE dataSource)
      通常、依存性注入によって提供される DataSource を設定します。

      このメソッドは、jdbcTemplate インスタンス変数もインスタンス化します。

    • setSqlScriptEncoding

      public void setSqlScriptEncoding(StringSE sqlScriptEncoding)
      プラットフォームのエンコーディングと異なる場合は、SQL スクリプトのエンコーディングを指定します。
      関連事項:
    • countRowsInTable

      protected int countRowsInTable(StringSE tableName)
      指定されたテーブルの行をカウントするための簡易メソッド。
      パラメーター:
      tableName - 行をカウントするテーブル名
      戻り値:
      テーブルの行数
      関連事項:
    • countRowsInTableWhere

      protected int countRowsInTableWhere(StringSE tableName, StringSE whereClause)
      指定された WHERE 句を使用して、指定されたテーブルの行をカウントする簡易メソッド。

      詳細については、JdbcTestUtils.countRowsInTableWhere(JdbcOperations, String, String) の Javadoc を参照してください。

      パラメーター:
      tableName - 行をカウントするテーブルの名前
      whereClause - クエリに追加する WHERE 句
      戻り値:
      指定された WHERE 句に一致するテーブル内の行の数
      導入:
      3.2
      関連事項:
    • deleteFromTables

      protected int deleteFromTables(StringSE... names)
      指定されたテーブルからすべての行を削除するための簡易メソッド。

      トランザクション以外では注意して使用してください!

      パラメーター:
      names - 削除するテーブルの名前
      戻り値:
      指定されたすべてのテーブルから削除された行の総数
      関連事項:
    • deleteFromTableWhere

      protected int deleteFromTableWhere(StringSE tableName, StringSE whereClause, ObjectSE... args)
      提供された WHERE 句を使用して、指定されたテーブルからすべての行を削除する簡易メソッド。

      トランザクション以外では注意して使用してください!

      詳細については、JdbcTestUtils.deleteFromTableWhere(JdbcOperations, String, String, Object...) の Javadoc を参照してください。

      パラメーター:
      tableName - 行を削除するテーブルの名前
      whereClause - クエリに追加する WHERE 句
      args - クエリにバインドする引数(対応する SQL 型を推測するために  PreparedStatement に残します)。引数値だけでなく、SQL 型とオプションでスケールも示す SqlParameterValue オブジェクトを含めることもできます。
      戻り値:
      テーブルから削除された行数
      導入:
      4.0
      関連事項:
    • dropTables

      protected void dropTables(StringSE... names)
      指定されたすべてのテーブルを削除するための便利なメソッド。

      トランザクション以外では注意して使用してください!

      パラメーター:
      names - 削除するテーブルの名前
      導入:
      3.2
      関連事項:
    • executeSqlScript

      protected void executeSqlScript(StringSE sqlResourcePath, boolean continueOnError) throws DataAccessException
      指定された SQL スクリプトを実行します。

      トランザクション以外では注意して使用してください!

      スクリプトは通常、クラスパスによってロードされます。

      ロールバックが予想される場合は、このメソッドを使用して DDL を実行しないでください。

      パラメーター:
      sqlResourcePath - SQL スクリプトの Spring リソースパス
      continueOnError - エラーが発生した場合に例外をスローせずに続行するかどうか
      例外:
      DataAccessException - ステートメントの実行中にエラーが発生した場合
      関連事項: