【報錯】'Parameter 'medicalExamNo' not found.Available parameters are [arg1, arg0, param1, param2]'

Mybatis報錯'Parameter 'medicalExamNo' not found.Available parameters are [arg1, arg0, param1, param2]'

在Mapper接口的方法中,參入的參數爲多個

1.ExamBaseInfoMapper.java 中方法


    /**
     * 通過檢查編號和姓名查詢id
     * @author Xiaolizi
     * @createTime 2019-06-06 15:32:12
     * @param medicalExamNo
     * @param name
     * @return String
     */
    String findIdByMedicalExamNoAndPartnerName(String medicalExamNo,String name);

2.ExamBaseInfoMapper.xml中sql語句

  <select id="findIdByMedicalExamNoAndPartnerName" resultType="String" parameterType="String">
        select ID from PME_EXAM_BASE_INFO where MEDICAL_EXAM_NO = #{medicalExamNo} and NAME = #{name}
    </select>

3.當傳入的參數只有一個的時候,這樣寫並不會報錯,但是當傳入多個參數後,Mybatis會報錯無法找到參數

4.解決方法:在mapper接口類的方法中加上@param註解

 /**
     * 通過檢查編號和姓名查詢id
     * @author lizi
     * @createTime 2019-06-06 15:32:12
     * @param medicalExamNo
     * @param name
     * @return String
     */
    String findIdByMedicalExamNoAndPartnerName(@Param("medicalExamNo") String medicalExamNo, @Param("name")String name);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章