// mapper.javaemerevel selectByAlarmId (Integer AlarmId); // mapper.xml <select id = "selectByAlarmId"resultMap = "baseresultMap"ParameterType = "java.lang.integer"> refid = "base_column_list"/> includ <alarmid! = null _> includ <alarmid! #{alarmid, jdbctype = integer} </if> </where> </select>하나의 매개 변수 만 전달되므로 AlarmId, 구성 파일의 해당 SQL은 IF 태그를 사용한 다음 오류 가보고됩니다.
중첩 예외는 org.apache.ibatis.reflection.reflectionException입니다. 'class java.lang.integer'에서 'alarmid'라는 속성에 대한 getter는 없습니다.
해결책:
1. Mapper 구성 파일에서 SQL 문에서 IF 판단을 제거하십시오.
<select id = "selectByAlarmId"resultMap = "baserEsultMap"ParameterType = "java.lang.integer"> select <refid = "base_column_list" /> alarm_id = #{alarmid, jdbctype = integer} < /select>2. 태그가 사용하려면 매개 변수를 객체 또는지도로 감싸십시오.
요약
위의 것은 단일 매개 변수 사용에 대한 문제와 솔루션과 Mybatis Flyers의 <if> 태그를 소개합니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!