sql >> Database >  >> RDS >> Oracle

kan de uit-parameter niet ontvangen van de Oracle-procedure uitgevoerd door mybatis

Ik heb een oplossing gevonden. De kaart moet een gebruiker zijn in plaats van twee parameters in de canCustomerSubscribe-methode.

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

mybatis xml-inhoud:

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

(Ik moet de komma's tussen de argumentattributen toevoegen)

aanroepen vanaf de abonnementsservicemethode:

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. Slaapstand, Postgresql:Kolom x is van het type oid, maar expressie is van het type byte

  2. Gebruik binaire COPY-tabel FROM met psycopg2

  3. SQLite-JSON()

  4. SQL Server (TSQL) - Is het mogelijk om EXEC-statements parallel te zetten?