Oracle 11g'de saklı bir işlevden döndürülen bir değer (Tamsayı değeri) almaya çalışıyorum. Ben çizgi var benim mapper arayüzdedönüş değeri Mybatis
FUNCTION ADD_TEN(INPUT IN NUMBER) RETURN NUMBER IS
BEGIN
RETURN INPUT + 10;
END;
:
fonksiyon giriş numarasına 10 ekler
Integer add(Integer input);
Ve XML dosyasında
<select id="add" statementType="CALLABLE" resultType='java.lang.Integer'>
{#{output,mode=OUT,jdbcType=NUMERIC,javaType=Integer} = call test_pkg.ADD_TEN(
#{input,jdbcType=NUMERIC}) }
</select>`
çağrı için yöntem şu şekildedir:
Integer sum = mapper.add(45);
Ama şu hatayı alıyorum:
Could not set property 'output' of 'class java.lang.Integer' with value '55' Cause: org.apache.ibatis.reflection.ReflectionException: There is no setter for property named 'output' in 'class java.lang.Integer'
yanlış yapıyorum? Ben bununla gerçekten kayboldum ...
Teşekkür ederim.
parameterType="int" resultType="int"
belirli çıkışını sökün ve şu şekilde yapmayı deneyin:
<select id="add" parameterType="int" resultType="int" statementType="CALLABLE">
{ CALL ADD_TEN(#{input, mode=IN, jdbcType=INTEGER})}
</select>