简体   繁体   English

如何调用在MyBatis中返回Oracle记录类型的Oracle函数

[英]How to call Oracle function which return Oracle record type in MyBatis

I have record type in package specification: 我在包装规格中有记录类型:

 TYPE Payment_Capabilities IS RECORD(
    pp_partial_payment NUMBER(1) DEFAULT 0,
    co_advance_payment NUMBER(1) DEFAULT 0,
    dp_deposit_payment NUMBER(1) DEFAULT 0,
    dr_deposit_repay   NUMBER(1) DEFAULT 0,
    wp_wallet_payment  NUMBER(1) DEFAULT 0,
    wr_wallet_repay    NUMBER(1) DEFAULT 0,
    ss_prepaid_payment NUMBER(1) DEFAULT 0);

and function which returns this type. 和返回此类型的函数。 I'm using MyBatis integration with Spring. 我正在使用MyBatis与Spring集成。 How to call (using MyBatis XML Mapper) this function and map result to POJO object? 如何调用(使用MyBatis XML Mapper)此函数并将结果映射到POJO对象?

<select id="identifyPaymentCapabilities" parameterType="PaymentCapabilities" statementType="CALLABLE">
    DECLARE
        v_payment_capabilities APS.Payment_Capabilities;
    BEGIN
        v_payment_capabilities := APS.get_payment_capabilities(#{customerId, javaType=Integer, jdbcType=NUMERIC, mode=IN});

        #{partialPaymentPP, javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.pp_partial_payment;
        #{advancePaymentCO, javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.co_advance_payment;
        #{depositPaymentDP, javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.dp_deposit_payment;
        #{depositRepayDR,   javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.dr_deposit_repay;
        #{walletPaymentWP,  javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.wp_wallet_payment;
        #{walletRepayWR,    javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.wr_wallet_repay;
        #{prepaidPaymentSS, javaType=Integer, jdbcType=NUMERIC, mode=OUT} := v_payment_capabilities.ss_prepaid_payment;
    END;
</select>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM