Аннотации MyBatis для вызова хранимой процедуры и получения параметров Out

Я использую MyBAtis-3 с MyBAtis-Spring. Когда я попытался вызвать хранимую процедуру, которая возвращает более одного параметра, используя аннотации MyBatis. Я ничего не получаю, я вижу, что входной параметр передается в SP в журналах, и он висит там без прогресса и исключений.

PFB хранимая процедура Oracle, к которой я пытаюсь получить доступ из MyBAtis,

create or replace PROCEDURE C2C.GET_DATA
(
  "IN_PARAM1" IN NUMBER,
   "OUT_PARAM2" OUT SAMPLETABLE.COL2%TYPE,
   "OUT_PARAM3" OUT SAMPLETABLE.COL3%TYPE,
   "OUT_PARAM4" OUT SAMPLETABLE.COL4%TYPE
  )  AS

  BEGIN
    SELECT PARAM2,PARAM3,PARAM4 INTO 
    OUT_PARAM2,OUT_PARAM3,OUT_PARAM4
    FROM C2C.SAMPLETABLE WHERE PARAM1=IN_PARAM1 ;  

  END C2C.GET_DATA;

PFB метод интерфейса картографа,

@Select(value= "{ CALL  C2C.GET_DATA( #{param1, mode=IN, jdbcType=INTEGER},#{param2, mode=OUT, jdbcType=VARCHAR},#{param3, mode=OUT, jdbcType=INTEGER},#{param4, mode=OUT, jdbcType=INTEGER})}")
@Options(statementType = StatementType.CALLABLE)
public void getData(Test test);

Объект Test содержит параметры, переданные в качестве входных данных в операторе вызова хранимой процедуры.

Когда я выполняю это, оно зависает здесь,

main Slf4jImpl 
==>  Preparing: { CALL C2C.GET_DATA(?,?,?,?)} 

main Slf4jImpl 
==> Parameters: 60(Integer)

person user3815000    schedule 23.07.2014    source источник
comment
Может ли кто-нибудь помочь мне в этом???   -  person user3815000    schedule 24.07.2014


Ответы (1)


Удивительно, но если я использую аннотацию @Insert, она работает, как и ожидалось. Какое-то странное поведение при вызове хранимых процедур. Дайте мне знать, если у кого-то еще есть хорошее решение, кроме этого.

person user3815000    schedule 24.07.2014
comment
Большое спасибо, вы сэкономили довольно много времени. - person Vytenis Bivainis; 18.07.2016