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"));
}