クラス SimpleJdbcCall

java.lang.ObjectSE
org.springframework.jdbc.core.simple.AbstractJdbcCall
org.springframework.jdbc.core.simple.SimpleJdbcCall
実装されたすべてのインターフェース:
SimpleJdbcCallOperations

public class SimpleJdbcCall extends AbstractJdbcCall implements SimpleJdbcCallOperations
SimpleJdbcCall は、ストアドプロシージャまたはストアド関数の呼び出しを表す、マルチスレッドで再利用可能なオブジェクトです。基本的なストアドプロシージャ / 関数にアクセスするために必要なコードを簡素化するためのメタデータ処理を提供します。提供する必要があるのは、呼び出しを実行するときに、プロシージャ / 関数の名前とパラメーターを含むマップだけです。提供されたパラメーターの名前は、ストアードプロシージャーが作成されたときに宣言された in および out パラメーターと一致します。

メタデータ処理は、JDBC ドライバーによって提供される DatabaseMetaData に基づいています。JDBC ドライバーに依存しているため、この「自動検出」は、正確なメタデータを提供することがわかっているデータベースにのみ使用できます。これらには現在、Derby、MySQL、Microsoft SQL Server、Oracle、DB2、Sybase、PostgreSQL が含まれます。その他のデータベースでは、すべてのパラメーターを明示的に宣言する必要があります。もちろん、データベースが必要なメタデータを提供している場合でも、すべてのパラメーターを明示的に宣言できます。その場合、宣言したパラメーターが優先されます。ストアドプロシージャのコンパイル中に宣言されたものと一致しないパラメーター名を使用する場合は、メタデータ処理をオフにすることもできます。

実際の呼び出しは Spring の JdbcTemplate を使用して処理されます。

構成メソッドの多くは、SimpleJdbcCall の現在のインスタンスを返し、チェーンの複数のインスタンスを「流れるような」インターフェーススタイルでまとめて提供できるようにします。

導入:
2.5
作成者:
Thomas Risberg, Stephane Nicoll
関連事項:
  • コンストラクターの詳細

    • SimpleJdbcCall

      public SimpleJdbcCall(DataSourceSE dataSource)
      基になる JdbcTemplate を作成するときに使用する JDBC DataSource を持つ 1 つのパラメーターを取るコンストラクター。
      パラメーター:
      dataSource - 使用する DataSource 
      関連事項:
    • SimpleJdbcCall

      public SimpleJdbcCall(JdbcTemplate jdbcTemplate)
      使用する JdbcTemplate で 1 つのパラメーターを取る代替コンストラクター。
      パラメーター:
      jdbcTemplate - 使用する JdbcTemplate 
      関連事項:
  • メソッドの詳細

    • withProcedureName

      public SimpleJdbcCall withProcedureName(StringSE procedureName)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      使用するプロシージャ名を指定します。これは、ストアドプロシージャを呼び出すことを意味します。
      次で指定:
      インターフェース SimpleJdbcCallOperationswithProcedureName 
      パラメーター:
      procedureName - ストアドプロシージャの名前
      戻り値:
      この SimpleJdbcCall のインスタンス
    • withFunctionName

      public SimpleJdbcCall withFunctionName(StringSE functionName)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      使用するプロシージャ名を指定します。これは、ストアド関数を呼び出すことを意味します。
      次で指定:
      インターフェース SimpleJdbcCallOperationswithFunctionName 
      パラメーター:
      functionName - ストアド関数の名前
      戻り値:
      この SimpleJdbcCall のインスタンス
    • withSchemaName

      public SimpleJdbcCall withSchemaName(StringSE schemaName)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      必要に応じて、ストアドプロシージャを継続するスキーマの名前を指定します。
      次で指定:
      インターフェース SimpleJdbcCallOperationswithSchemaName 
      パラメーター:
      schemaName - スキーマの名前
      戻り値:
      この SimpleJdbcCall のインスタンス
    • withCatalogName

      public SimpleJdbcCall withCatalogName(StringSE catalogName)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      オプションで、ストアードプロシージャーを継続するカタログの名前を指定します。

      Oracle DatabaseMetaData との一貫性を提供するために、これは、プロシージャがパッケージの一部として宣言されている場合に、パッケージ名を指定するために使用されます。

      次で指定:
      インターフェース SimpleJdbcCallOperationswithCatalogName 
      パラメーター:
      catalogName - カタログまたはパッケージ名
      戻り値:
      この SimpleJdbcCall のインスタンス
    • withReturnValue

      public SimpleJdbcCall withReturnValue()
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      返される結果にプロシージャの戻り値を含める必要があることを示します。
      次で指定:
      インターフェース SimpleJdbcCallOperationswithReturnValue 
      戻り値:
      この SimpleJdbcCall のインスタンス
    • declareParameters

      public SimpleJdbcCall declareParameters(SqlParameter... sqlParameters)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      必要に応じて、1 つ以上のパラメーターを指定します。これらのパラメーターは、データベースのメタデータから取得されたパラメーター情報で補足されます。

      SqlParameter および SqlInOutParameter として宣言されたパラメーターのみが入力値の提供に使用されることに注意してください。これは、SqlOutParameter として宣言されたパラメーターに入力値を提供できるようにする - 下位互換性の理由で - StoredProcedure クラスとは異なります。

      次で指定:
      インターフェース SimpleJdbcCallOperationsdeclareParameters 
      パラメーター:
      sqlParameters - 使用するパラメーター
      戻り値:
      この SimpleJdbcCall のインスタンス
    • useInParameterNames

      public SimpleJdbcCall useInParameterNames(StringSE... inParameterNames)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      まだ使用されていません。
      次で指定:
      インターフェース SimpleJdbcCallOperationsuseInParameterNames 
    • returningResultSet

      public SimpleJdbcCall returningResultSet(StringSE parameterName, RowMapper<?> rowMapper)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャによって ResultSet が返され、それを RowMapper によってマップする場合を指定するために使用されます。指定したパラメーター名を使用して結果が返されます。複数の ResultSets を正しい順序で宣言する必要があります。

      使用しているデータベースが参照カーソルを使用している場合、指定された名前は、データベース内のプロシージャに対して宣言されたパラメーターの名前と一致する必要があります。

      次で指定:
      インターフェース SimpleJdbcCallOperationsreturningResultSet 
      パラメーター:
      parameterName - 返された結果の名前および / または参照カーソルパラメーターの名前
      rowMapper - 各行に返されたデータをマップする RowMapper 実装
    • withoutProcedureColumnMetaDataAccess

      public SimpleJdbcCall withoutProcedureColumnMetaDataAccess()
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      JDBC を介して取得したパラメーターメタデータ情報の処理をオフにします。
      次で指定:
      インターフェース SimpleJdbcCallOperationswithoutProcedureColumnMetaDataAccess 
      戻り値:
      この SimpleJdbcCall のインスタンス
    • withNamedBinding

      public SimpleJdbcCall withNamedBinding()
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      パラメーターを名前でバインドする必要があることを示します。
      次で指定:
      インターフェース SimpleJdbcCallOperationswithNamedBinding 
      戻り値:
      この SimpleJdbcCall のインスタンス
    • executeFunction

      public <T> T executeFunction(ClassSE<T> returnType, ObjectSE... args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアド関数を実行し、指定した戻り値の型のオブジェクトとして取得した結果を返します。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecuteFunction 
      パラメーター:
      returnType - 返す値の型
      args - 呼び出しで使用される in パラメーター値を含むオプションの配列。パラメーター値は、パラメーターがストアードプロシージャーに定義されているのと同じ順序で提供する必要があります。
    • executeFunction

      public <T> T executeFunction(ClassSE<T> returnType, MapSE<StringSE,?> args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアド関数を実行し、指定した戻り値の型のオブジェクトとして取得した結果を返します。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecuteFunction 
      パラメーター:
      returnType - 返す値の型
      args - 呼び出しで使用されるパラメーター値を含むマップ
    • executeFunction

      public <T> T executeFunction(ClassSE<T> returnType, SqlParameterSource args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアド関数を実行し、指定した戻り値の型のオブジェクトとして取得した結果を返します。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecuteFunction 
      パラメーター:
      returnType - 返す値の型
      args - 呼び出しで使用されるパラメーター値を含む MapSqlParameterSource
    • executeObject

      public <T> T executeObject(ClassSE<T> returnType, ObjectSE... args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャを実行し、指定した戻り値の型のオブジェクトとしてシングルアウトパラメーターを返します。複数の出力パラメーターがある場合、最初の出力パラメーターが返され、追加の出力パラメーターは無視されます。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecuteObject 
      パラメーター:
      returnType - 返す値の型
      args - 呼び出しで使用される in パラメーター値を含むオプションの配列。パラメーター値は、パラメーターがストアードプロシージャーに定義されているのと同じ順序で提供する必要があります。
    • executeObject

      public <T> T executeObject(ClassSE<T> returnType, MapSE<StringSE,?> args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャを実行し、指定した戻り値の型のオブジェクトとしてシングルアウトパラメーターを返します。複数の出力パラメーターがある場合、最初の出力パラメーターが返され、追加の出力パラメーターは無視されます。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecuteObject 
      パラメーター:
      returnType - 返す値の型
      args - 呼び出しで使用されるパラメーター値を含むマップ
    • executeObject

      public <T> T executeObject(ClassSE<T> returnType, SqlParameterSource args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャを実行し、指定した戻り値の型のオブジェクトとしてシングルアウトパラメーターを返します。複数の出力パラメーターがある場合、最初の出力パラメーターが返され、追加の出力パラメーターは無視されます。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecuteObject 
      パラメーター:
      returnType - 返す値の型
      args - 呼び出しで使用されるパラメーター値を含む MapSqlParameterSource
    • execute

      public MapSE<StringSE,ObjectSE> execute(ObjectSE... args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャを実行し、パラメーター宣言のように名前をキーとする出力パラメーターのマップを返します。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecute 
      パラメーター:
      args - 呼び出しで使用される in パラメーター値を含むオプションの配列。パラメーター値は、パラメーターがストアードプロシージャーに定義されているのと同じ順序で提供する必要があります。
      戻り値:
      出力パラメーターのマップ
    • execute

      public MapSE<StringSE,ObjectSE> execute(MapSE<StringSE,?> args)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャを実行し、パラメーター宣言のように名前をキーとする出力パラメーターのマップを返します。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecute 
      パラメーター:
      args - 呼び出しで使用されるパラメーター値を含むマップ
      戻り値:
      出力パラメーターのマップ
    • execute

      public MapSE<StringSE,ObjectSE> execute(SqlParameterSource parameterSource)
      インターフェースからコピーされた説明: SimpleJdbcCallOperations
      ストアドプロシージャを実行し、パラメーター宣言のように名前をキーとする出力パラメーターのマップを返します。
      次で指定:
      インターフェース SimpleJdbcCallOperationsexecute 
      パラメーター:
      parameterSource - 呼び出しで使用されるパラメーター値を含む SqlParameterSource
      戻り値:
      出力パラメーターのマップ