iBatis, appel d'une procedure stockee avec des arguments par defat.
Bonjour,
J'utilise iBatis depuis peu, et je me trouve devant un probleme que je n'arrive pas à résoudre, j'espere que certain d'entre vous pourrons m'aider.
Voici mon problème :
-J'ai un procédure stockée qui a comme arguments 2 Varchar2, le second prenant une valeur par defaut.
Code:
1 2 3 4 5 6 7 8 9 10 11
| CREATE OR REPLACE PACKAGE PKG_TEST IS
PROCEDURE P_TEST_PARAM_DEFAULT (PI_FIRST IN OUT varchar2,
PI_SECOND IN varchar2 default 'DeFaUlT');
END PKG_TEST;
CREATE OR REPLACE PACKAGE BODY PKG_TEST IS
PROCEDURE P_TEST_PARAM_DEFAULT (PI_FIRST IN OUT varchar2, PI_SECOND IN varchar2 default 'DeFaUlT')
IS
Begin
PI_FIRST:=PI_FIRST||PI_SECOND;
End P_TEST_PARAM_DEFAULT;
END PKG_TEST; |
Je souhaiterais pouvoir appeller cette procédure stockée de maniere simple, que je passe 1 ou 2 parametre.
Pour cela j'aimerai écrire dans la SQL map quelque chose chose comme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<parameterMap class="com.test.pkgtest.PTestParamDefault" id="PTestParamDefaultMap">
<parameter property="piFirst" mode="INOUT" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="piSecond" mode="IN" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<procedure id="PTestParamDefault" parameterMap="PTestParamDefaultMap">
<isPropertyAvailable property="piSecond">
call PKG_TEST.P_TEST_PARAM_DEFAULT(?,?)
</isPropertyAvailable>
call PKG_TEST.P_TEST_PARAM_DEFAULT(?)
</procedure> |
Mais ça ne fonctionne évident pas, ce serait trop facile !!
Mon but serait qu'à partir du même appel depuis ma couche DAO (sqlMapClient.queryForObject(PkgTestService.P_TEST_PARAM_DEFAULT, params);), iBatis, dynamiquement, fasse le bon appel pour la proc Stock.
Si quelqu'un à déjà eu affaire à un problème de ce type ou à une idée, je suis preneur !
Cordialement