sql >> Databáze >  >> RDS >> Oracle

nemůže přijímat out parametr z procedury oracle prováděné mybatis

Našel jsem řešení. Mapa musí být uživatelská místo dvou parametrů v metodě canCustomerSubscribe.

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

obsah mybatis xml:

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

(Potřebuji přidat čárky mezi atributy argumentů)

volání z metody předplatitelské služby:

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. Existuje dotaz Oracle SQL, který agreguje více řádků do jednoho řádku?

  2. Date_trunc PostgreSQL v mySQL

  3. Podporuje integrace SQL Server CLR konfigurační soubory?

  4. Umění agregace dat v SQL od jednoduchých po posuvné agregace