Mybatis 전단 지 매개 변수 와 라벨 을 동시에 사용 하 는 문제 및 해결 방법


// Mapper.java
EmerEvent selectByAlarmId(Integer alarmId);
// Mapper.xml
<select id="selectByAlarmId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
  select
    <include refid="Base_Column_List" />
  from event
  <where>
    <if test="alarmId != null">
      and alarm_id = #{alarmId,jdbcType=Integer}
    </if>
  </where>
</select>
하나의 인자 만 전 달 했 기 때 문 입 니 다:alarmId,설정 파일 에 대응 하 는 sql 에서 if 탭 을 사용 한 다음 오류 보고:
nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'alarmId' in 'class java.lang.Integer'
해결 방법:
1.mapper 설정 파일 의 sql 구문 에 있 는 if 판단 을 제거 합 니 다.

<select id="selectByAlarmId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
   select
    <include refid="Base_Column_List" />
   from event
    where alarm_id = #{alarmId,jdbcType=Integer}
</select>
2.if 탭 을 사용 하려 면 인자 alarmId 를 대상 이나 맵 에 밀봉 하면 됩 니 다.
총결산
위 에서 말 한 것 은 소 편 이 소개 한 Mybatis 전단 지 의 매개 변수 와라벨 을 동시에 사용 하 는 문제 와 해결 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기