Oracle Store Procedures – MyBatis

Posted: 17th January 2017 by Jak in Java, MyBatis, Oracle
Tags: , , ,

Otra forma de consumir store procedures de Oracle con MyBatis, es con el mismo objeto de entrada solo se llenan los datos tipo IN, pasa por la llamada al store y se llenan en automatico los datos tipo OUT como se ve a continuación:

//DAO

public VoData getLoginSp(VoData input){
SqlSession session = getSession();

try {
session.selectOne("mappers.callSp", input);
} finally {
session.close();
}
return input;
}

 

//setters and getters...

public class VoData {

private String pw_id_user;
private String pw_password;
private String pw_error;

 

Los nombres del vo deben coincidir con el mapeo de la query en el xml. Aqui obtenemos la propiedad de salida que se llena en automatico.

String id = vo.getPw_error();

 

El mapeo en el xml

<select id="callSp" parameterType="VoData" statementType="CALLABLE">
{ CALL SCC.SCC_STORE(#{pw_id_user, mode=IN, jdbcType=VARCHAR},
#{pw_password, mode=IN, jdbcType=VARCHAR},
#{pw_error, mode=OUT, jdbcType=VARCHAR}) }
</select>

 

Share