반응형
For input string: "" 혹은 "N", "Y" 등의 오류는 자바에서 Mybatis를 사용할 때 if test 등의 구문 사용에서 오류가 발생하는 경우입니다. 주로 "" String값에 null이 오거나, 문자와 숫자 비교 등 형변환 오류입니다.
For input string: ""의 경우
<if test="PARAM != 'Y'">
위와 같이 mybatis 구문 중 PARAM의 값이 파라미터가 null이 왔을 가능성이 있는지 확인합니다.
이 문제는 아래와 같이 해결할 수 있습니다.
1. 값을 넘길 때 default 값을 넣어 null이 되지 않도록 합니다..
2. AND 문으로 앞에 null 체크를 먼저 합니다.
<if test="PARAM != null and PARAM !='Y'">
반응형
For input string: (String) 문자열의 경우
test문을 감싸는 '(싱글쿼테이션), "(더블쿼테이션)의 차이가 타입의 차이를 발생시킬 수 있습니다.
예를 들어 For input string: "N", "Y"과 같은 메시지가 나오는 아래와 예제를 봅시다.
<if test="PARAM != 'Y'">
이 같은 경우 'Y'를 문자로 인식 못 하면서 에러가 발생합니다.
아래와 같이 수정하여 해결이 가능합니다.
1. 쿼테이션 위치 변경
<if test='PARAM != "Y"'>
2. equals 사용
<if test='"Y".equals(PARAM)'>
문제가 해결되셨기를
그리드형
'IT > Java' 카테고리의 다른 글
[JAVA] 자바 스트링 한글 깨짐 (String 인코딩 변환 방법) (0) | 2022.05.12 |
---|---|
[JAVA] 가변인자 (0) | 2022.04.07 |
[JAVA] 다양한 형태의 JSON 파일 파싱하기 JSONParser, JSONObject, JSONArray (json.simple, GSON) (4) | 2021.11.30 |
[JAVA] 유니코드(Unicode) 한글 변환 (0) | 2021.11.27 |
[JAVA] 이클립스 eclipse workspace 변경 (0) | 2021.09.10 |
댓글