[MyBatis] if 에서 문자열 비교시 NumberFormatException 해결 방법
2018. 2. 1. 14:36ㆍProgramming/Spring
반응형
<select id="get" parameterType="map" resultMap="resultMap">
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and 파라미터 == 'A'">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and 파라미터 == 'A'">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
위와 같은 쿼리 실행시 NumberFormatException이 발생 한다면
아래와 같이 코드를 수정 하면 해결 될 것이다.
<select id="get" parameterType="map" resultMap="resultMap">
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and (파라미터 eq 'A'.toString())">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and (파라미터 eq 'A'.toString())">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
OR
<select id="get" parameterType="map" resultMap="resultMap">
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and 파라미터.equals('A')">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and 파라미터.equals('A')">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
보너스 (대소문자 무시)
<select id="get" parameterType="map" resultMap="resultMap">
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and 파라미터.equalsIgnoreCase('A')">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
SELECT *
FROM 테이블명
<where>
<if test="파라미터 != null and 파라미터.equalsIgnoreCase('A')">
AND 필드명 = #{파라미터}
</if>
</where>
</select>
출처: http://xshine.tistory.com/249 [메모하는습관]
반응형
'Programming > Spring' 카테고리의 다른 글
Multi Thread (0) | 2019.07.30 |
---|---|
[Spring] eclipse Tomcat에 프로젝트 추가 안될 때 (4) | 2018.06.03 |
[Spring] 상수 설정하기( properties ) (0) | 2018.05.29 |
[Spring] Mysql Connection을 잃어 버릴 경우 (0) | 2018.02.12 |
오류해결 - Maven Plug in 오류 시 해결법 (1) | 2018.01.22 |