【报错】'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);
}

 

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