Oracle
 sql >> база данни >  >> RDS >> Oracle

не може да получи параметър от процедурата на oracle, изпълнявана от mybatis

Намерих решение. Картата трябва да бъде потребител вместо два параметъра в метода canCustomerSubscribe.

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

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>

(Трябва да добавя запетаи между атрибутите на аргументите)

извикването му от метода на услугата за абонамент:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle sql заявка за изброяване на всички дати от предходния месец

  2. WSJDBCConnection не обвива обекти от тип Oracle jdbc Connection

  3. Как мога да убия всички сесии, свързващи се с моята база данни на Oracle?

  4. Oracle използва ли оценка на късо съединение?

  5. Автоинкрементът на oracle с последователност и тригер не работи правилно