2012-09-05 41 views
1

我在包規範記錄類型:如何調用Oracle函數返回甲骨文記錄類型中的MyBatis

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

和函數返回此類型。我正在使用MyBatis與Spring集成。如何調用(使用MyBatis XML Mapper)該函數並將結果映射到POJO對象?

回答

0
<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>