2013-05-16 2 views
2

Я вызываю процедуру хранилища, используя выделенную аннотацию, и у меня есть один параметр OUT. Но я не устанавливаю эту собственность. Можно ли извлечь OUT из параметров без отображения свойств в mybatis3 аннотациюКак получить значение из процедуры хранения без сопоставления свойств в mybatis3 annotaion

+0

попытки установить ParameterType на карту, а затем использовать некоторое значение вместо ''? Заполнителя, возможно, это будет заполнить параметр карту с этим значением. – maks

ответ

0

Для вызова хранимых процедур с Out PARAMS попробовать это:

Mapper:

@Select("{ CALL SABIUS.GI_ACESSO_PORTAL.VALIDA_CARTEIRA_USUARIO(" 
+ "#{map.param1, mode=IN, jdbcType=INTEGER }," 
+ "#{map.param2, mode=IN, jdbcType=INTEGER }," 
+ "#{map.param3, mode=IN, jdbcType=INTEGER }," 
+ "#{map.paramOUT, mode=OUT, jdbcType=INTEGER }" + ") }") 
@Options(statementType = StatementType.CALLABLE) 
public void methodCall(@Param("map") Map<String, Object> mapParameters); 

в DAO

Map<String, Object> mapParameters = new HashMap<String, Object>(); 
mapParameters.put("param1", 123); 
mapParameters.put("param2", 234); 
mapParameters.put("param3", 345); 

mapper.methodCall(mapParameters); 
return mapParameters.get("paramOUT"); 

hashmap обновляется с вашим именем параметра.

[] s