Oracle
 sql >> Base de données >  >> RDS >> Oracle

Appel de la fonction pl/sql avec mybatis 3

J'ai écrit parameterType &Map Exemple. Cela fonctionne sur mes données de test.

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>

Mappeur :

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

Principal :

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