sql >> Databasteknik >  >> RDS >> Oracle

kan inte ta emot parameter från oracle-proceduren som exekveras av mybatis

Jag hittade lösningen. Kartan måste vara användare istället för två parametrar i metoden canCustomerSubscribe.

 void canCustomerSubscribe(Map<String,Object> params);

mybatis xml-innehåll:

<select id="canCustomerSubscribe" parameterType="java.util.HashMap" statementType="CALLABLE">
    CALL wallet.pkg_wallet_validation.can_customer_subscribe(
    #{msisdn, jdbcType=VARCHAR, javaType=java.lang.String, mode=IN},
    #{responseCode,jdbcType=NUMERIC, javaType=java.lang.Integer, mode=OUT})
</select>

(Jag måste lägga till kommatecken mellan argumentattributen)

ringer det från prenumerationstjänstmetoden:

public void subscribe(String msisdn) throws InvalidArgumentException {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("msisdn", msisdn);
    params.put("responseCode", null);
    subscriberMapper.canCustomerSubscribe(params);
    System.out.println(params.get("responseCode"));
}



  1. oracle sql:uppdatera om det finns annat infoga

  2. hur man delar strängen i olika kolumner?

  3. En guide till PGpool - Tips och observationer:del tre

  4. Hur kan jag få en vanlig postgres-databasdump på heroku?