Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

tidak dapat menerima parameter dari prosedur Oracle yang dijalankan oleh mybatis

Saya menemukan solusi. Peta harus berupa pengguna, bukan dua parameter dalam metode canCustomerSubscribe.

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

konten xml mybatis:

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

(Saya perlu menambahkan koma di antara atribut argumen)

memanggilnya dari metode layanan berlangganan:

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. Cross Gabung di Oracle

  2. cara Flashback ketika kita memiliki dataguard

  3. Oracle RAC N+1 Redundansi

  4. ORA-28001:Kata sandi telah kedaluwarsa

  5. permintaan penghapusan oracle membutuhkan terlalu banyak waktu