マイバティスでOracleストアドプロシージャを呼び出す方法は何ですか?

MyBatisでOracleのストアドプロシージャを呼び出す場合、select文やupdate文を使用してストアドプロシージャを実行する方法があります。以下はその例です:

<select id="callProcedure" parameterType="map" statementType="CALLABLE">
    {call PROCEDURE_NAME(
        #{inputParam1, mode=IN, jdbcType=INTEGER},
        #{inputParam2, mode=IN, jdbcType=VARCHAR},
        #{outputParam, mode=OUT, jdbcType=INTEGER}
    )}
</select>

この例では、PROCEDURE_NAMEは呼び出すストアドプロシージャの名前であり、inputParam1とinputParam2はストアドプロシージャの入力パラメータであり、outputParamは出力パラメータです。parameterTypeでmapを使用し、modeでパラメータのタイプと方向を指定します。

Javaコードで、MyBatisのSqlSessionを使用してそのストアドプロシージャを実行します。

Map<String, Object> params = new HashMap<>();
params.put("inputParam1", 123);
params.put("inputParam2", "abcdef");
params.put("outputParam", null);

sqlSession.selectOne("callProcedure", params);

Integer outputParamValue = (Integer) params.get("outputParam");
System.out.println("Output parameter value: " + outputParamValue);

この方法を使用することで、MyBatisでOracleストアドプロシージャを呼び出し、出力パラメータの値を取得することができます。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds