クラス StoredProcedure

実装されたすべてのインターフェース:
InitializingBean
既知の直属サブクラス
GenericStoredProcedure

public abstract class StoredProcedure extends SqlCall
RDBMS ストアドプロシージャのオブジェクト抽象化のスーパークラス。このクラスは抽象クラスであり、サブクラスが、提供された execute(java.lang.Object...) メソッドに委譲する呼び出し用の型付きメソッドを提供することを目的としています。

継承された sql プロパティは、RDBMS 内のストアドプロシージャの名前です。

作成者:
Rod Johnson, Thomas Risberg
  • コンストラクターの詳細

    • StoredProcedure

      protected StoredProcedure()
      Bean としての使用を許可します。
    • StoredProcedure

      protected StoredProcedure(DataSourceSE ds, StringSE name)
      ストアドプロシージャの新しいオブジェクトラッパーを作成します。
      パラメーター:
      ds - このオブジェクトの存続期間を通じて接続を取得するために使用する DataSource
      name - データベース内のストアドプロシージャの名前
    • StoredProcedure

      protected StoredProcedure(JdbcTemplate jdbcTemplate, StringSE name)
      ストアドプロシージャの新しいオブジェクトラッパーを作成します。
      パラメーター:
      jdbcTemplate - DataSource をラップする JdbcTemplate
      name - データベース内のストアドプロシージャの名前
  • メソッドの詳細

    • allowsUnusedParameters

      protected boolean allowsUnusedParameters()
      StoredProcedure パラメーターマップには、実際にはパラメーターとして使用されない追加のエントリを含めることがデフォルトで許可されています。
      オーバーライド:
      クラス RdbmsOperationallowsUnusedParameters 
      関連事項:
    • declareParameter

      public void declareParameter(SqlParameter param) throws InvalidDataAccessApiUsageException
      パラメーターを宣言します。

      SqlParameter および SqlInOutParameter として宣言されたパラメーターは、常に入力値を提供するために使用されます。これに加えて、Null 以外の入力値が提供される SqlOutParameter として宣言されたパラメーターも、入力パラメーターとして使用されます。 注: declareParameter の呼び出しは、データベースのストアドプロシージャのパラメーターリストに表示されるのと同じ順序で行う必要があります

      名前は純粋にマッピングを手助けするために使用されます。

      オーバーライド:
      クラス RdbmsOperationdeclareParameter 
      パラメーター:
      param - パラメーターオブジェクト
      例外:
      InvalidDataAccessApiUsageException - パラメーターに名前がない場合、または操作がすでにコンパイルされているため、それ以上構成できない場合
    • execute

      public MapSE<StringSE,ObjectSE> execute(ObjectSE... inParams)
      提供されたパラメーター値を使用してストアードプロシージャーを実行します。これは、渡されたパラメーター値の順序が、パラメーターが宣言された順序と一致する必要がある便利なメソッドです。
      パラメーター:
      inParams - 可変数の入力パラメーター。このパラメーターには出力パラメーターを含めないでください。値が null であることは正当であり、これにより、ストアドプロシージャへの NULL 引数を使用して正しい動作が生成されます。
      戻り値:
      パラメーター宣言のように名前でキー付けされた出力パラメーターのマップ。ストアドプロシージャが呼び出された後の出力パラメーターがここに表示されます。
    • execute

      public MapSE<StringSE,ObjectSE> execute(MapSE<StringSE,?> inParams) throws DataAccessException
      ストアドプロシージャを実行します。サブクラスは、このメソッドを呼び出す厳密に型指定された実行メソッド(意味のある名前)を定義して、入力マップにデータを入力し、出力マップから型指定された値を抽出する必要があります。サブクラスの execute メソッドは、ドメインオブジェクトを引数および戻り値として受け取ることがよくあります。または、無効を返すこともできます。
      パラメーター:
      inParams - 入力パラメーターのマップ。パラメーター宣言のように名前でキー付けされます。このパラメーターに出力パラメーターを含める必要はありません(含めることができます)。マップエントリが null であることは正当であり、これにより、ストアドプロシージャへの NULL 引数を使用して正しい動作が生成されます。
      戻り値:
      パラメーター宣言のように名前でキー付けされた出力パラメーターのマップ。ストアドプロシージャが呼び出された後の出力パラメーターがここに表示されます。
      例外:
      DataAccessException
    • execute

      public MapSE<StringSE,ObjectSE> execute(ParameterMapper inParamMapper) throws DataAccessException
      ストアドプロシージャを実行します。サブクラスは、このメソッドを呼び出す厳密に型指定された実行メソッドを(意味のある名前で)定義し、入力マップに入力する ParameterMapper を渡す必要があります。ParameterMapper は Connection オブジェクトにアクセスできるため、データベース固有の機能をマッピングできます。execute メソッドは、出力マップから型付き値を抽出するロールも果たします。サブクラスの execute メソッドは、ドメインオブジェクトを引数および戻り値として受け取ることがよくあります。または、無効を返すこともできます。
      パラメーター:
      inParamMapper - 入力パラメーターのマップ。パラメーター宣言のように名前でキー付けされます。このパラメーターに出力パラメーターを含める必要はありません(含めることができます)。マップエントリが null であることは正当であり、これにより、ストアドプロシージャへの NULL 引数を使用して正しい動作が生成されます。
      戻り値:
      パラメーター宣言のように名前でキー付けされた出力パラメーターのマップ。ストアドプロシージャが呼び出された後の出力パラメーターがここに表示されます。
      例外:
      DataAccessException