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