Oracle
 sql >> Database >  >> RDS >> Oracle

Chiamare la funzione pl/sql con mybatis 3

Ho scritto parameterType &Map esempio. Funziona con i miei dati di prova.

XML:

<update id="isPublicObject" parameterType="map" statementType="CALLABLE">
    declare
        v_bool BOOLEAN := TRUE;
    begin
        v_bool := PACKNAME.STF$IS_PUBLIC_OBJECT(#{id});
        #{result,jdbcType=VARCHAR,mode=OUT} := CASE WHEN v_bool THEN 'TRUE' ELSE 'FALSE' END;
    end;
</update>

Mappatore:

public interface PLSQLMapper {
    public void isPublicObject(Map<String, Object> parameterMap);
}

Principale:

PLSQLMapper mapper = session.getMapper(PLSQLMapper.class);

Map<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("id", 1);
mapper.isPublicObject(parameterMap);
System.out.println("result: " + parameterMap.get("result"));