Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Aufruf der pl/sql-Funktion mit mybatis 3

Ich habe parameterType geschrieben &Map Beispiel. Es funktioniert mit meinen Testdaten.

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>

Mapper:

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

Haupt:

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"));