MyBatisでストアドプロシージャを実行する方法は何ですか?
MyBatisでストアドプロシージャを実行する方法は通常2つあります。
- 選択する
<select id="callProcedure" statementType="CALLABLE">
{call procedure_name(#{param1, mode=IN, jdbcType=INTEGER}, #{param2, mode=OUT, jdbcType=INTEGER})}
</select>
この例では、callProcedureはマッピングファイルに定義されたメソッドであり、procedure_nameは呼び出すストアドプロシージャの名前であり、param1およびparam2はストアドプロシージャのパラメータです。
- アップデートします。
<update id="callProcedure" statementType="CALLABLE">
{call procedure_name(#{param1, mode=IN, jdbcType=INTEGER}, #{param2, mode=OUT, jdbcType=INTEGER})}
</update>
この例では、callProcedureはマッピングファイルで定義されたメソッドであり、procedure_nameは呼び出すストアドプロシージャの名前で、param1はストアドプロシージャの入力パラメータであり、param2はストアドプロシージャの出力パラメータになります。
いかなる方法を使用しても、MyBatisのマッパーファイルに対応するSQLステートメントを定義し、パラメータの入力および出力タイプを指定する必要があります。 ストアドプロシージャを呼び出す際には、操作方法を指定するためにCALLABLEをstatementTypeとして使用する必要があります。