반응형
반응형
반응형

#NumberformatException #if #문자 #1글자비교  #equals #MyBatis #JAVA #자바

ex 1)
<if test="stringValue == 'Y'">
</if>

ex 2)
<if test="condition.equals('Y')">
</if>


지금처럼 한 글자를 다이나믹쿼리 IF  안에서 비교할 때

java.lang.NumberFormatException: For input string: "Y" 에러 또는

비교가 되지 않을 수 있다. (인식 불가 혹은 오작동 가능성도 있음)
결론적으로 위 현상은 myBatis 문제는 아니고

OGNL(Object Graph Navigation Language) 의 문제이다.

OGNL 인터프리터에서는 위 구문의 'Y' 를 char 형으로 인식하고,
'YY' 나 "Y" 는 String으로 인식한다. (따옴표를 잘보자)
그래서  이와 같은 구문을 비교할 때 
 NumberFormat으로 비교를 시도하여 Exception이 발생한다.
이유는 java의 char형은 실제로 문자의 코드값을 저장하기 때문이다.

그래서 아래와 같은 형변환이 가능하다.

char y = 'Y';
int code = (int)y; // code에는 Y의 코드값인 89가 저장된다

그래서 위와 같은 상황을 피하기 위해서는 다음과 같은 해결책이 존재한다.

1. <if test='stringValue == "Y"'> – 쌍따옴표와 홑따옴표의 위치를 변경

2. <if test="stringValue == &quot;Y&quot;"> – 쌍따옴표를 HTML 코드로 변경

3. <if test="stringValue == 'Y'.toString()"> – toString() 함수를 사용해 String 형으로 변환

4. 함수 생성 (equals 함수를 새로 생성하고 가져다 쓰는 방법 )




http://cofs.tistory.com/97 에서 설명하고 있는
함수를 생성해서
사용방법을 참조하여 equals함수를 재정의

1번과 4번 방법을 추천한다.


출처: https://cofs.tistory.com/96 [CofS]

반응형
반응형

과거를 돌아볼 때 가장 후회되는 일이 무엇이냐고 묻자
네 명중 세 명이 어떤 일을 하지 않았던 것을 후회했고,
기회가 있을 때 놓친 것을 아쉬워했다. 반대로 어떤 일을 해서,
예를 들어 직장에서 어떤 결정을 내려서 후회했다는 응답자는
4분의 1에 불과했다.
인간은 한 일을 후회하기 보다는 하지 않은 일을 더 많이 후회하는 법이다.
- 토머스 길로비치  

후회 심리학을 연구하는 미국 심리학자 토머스 길로비치의 연구 결과입니다.
아무것도 결정하지 않겠다는 결정이 최악의 선택입니다.
선택은 나한테 달렸습니다. 일단 선택 한 후
철저하게 행동으로 옮긴다면 그만큼 행복해질 확률도 높아집니다.
어디서나 통하는 마법의 주문은 바로 결단력입니다.

반응형
반응형
반응형
반응형

12월은
우리 모두
사랑을 시작하는 계절입니다

잠시 잊고 있던
서로의 존재를
새롭게 확인하며
고마운 일 챙겨보고
잘못한 일 용서 청하는
가족 이웃 친지들

세상 사람 누구에게나
벗으로 가족으로 다가가는
사랑의 계절입니다.


- 이해인의 시집《희망은 깨어있네》 에 실린
시〈12월은〉에서 -


* 12월은
한해를 마무리하는 마지막 달입니다.
올 한해를 돌아보고 새해를 준비하는 시간입니다.
바로 이때 '사랑을 시작하라'는 시인의 말이
하늘의 명령처럼 들립니다. 사랑의 시작은
미룰 일이 아닙니다. 바로 12월입니다.
새해가 새롭게 다가옵니다.

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

살아있다는 것  (0) 2019.12.04
오늘 밤도 푸근히 잘 주무세요  (0) 2019.12.03
심리적 거리  (0) 2019.12.01
시로 집을 짓다  (0) 2019.11.29
작은 물컵, 큰 호수  (0) 2019.11.28
반응형
2019-12-01  작년 이때쯤
오사카에 있었구만.

반응형

+ Recent posts