Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

không thể nhận tham số từ thủ tục oracle được thực thi bởi mybatis

Tôi đã tìm thấy giải pháp. Bản đồ phải là người dùng thay vì hai tham số trong phương thức canCustomerSubscribe.

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

mybatis xml content:

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

(Tôi cần thêm dấu phẩy giữa các thuộc tính đối số)

gọi nó từ phương thức dịch vụ đăng ký:

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. Kết nối với cơ sở dữ liệu Oracle bằng SQLAlchemy

  2. Hàm NVL2 () trong Oracle

  3. ODP.NET Oracle.ManagedDataAcess lỗi ORA-12570 ngẫu nhiên

  4. Nhập tệp trong Oracle Apex bằng wwv_flow_files

  5. tạo bảng với sequence.nextval trong oracle