-
[MyBatis] 부등호, 비교연산자(<, >, <=, >=, &) 사용 방법Study/Java 2020. 12. 24. 01:03
마이바티스를 쓰면서 쿼리문에 비교문을 사용하는 경우가 많은데 < 같은 부등호를 사용하면 오류가 발생한다.
<!-- 잘못된 코드 --> <select id="getEmployeeSalary"> SELECT EMPLOYEE_ID FROM EMPLOYEE WHERE SALARY < 10000 </select>
해결방법 - 1 : CDATA
<![CDATA[ "부등호"]]>
<!-- <![CDATA[ ]]> 사용 --> <select id="getEmployeeSalary"> SELECT EMPLOYEE_ID FROM EMPLOYEE WHERE SALARY <![CDATA[<]]> 10000 </select>
<![CDATA[ ]]>의 [] 안에 원하는 연산자를 입력하면 된다.
<![CDATA[ "부등호"]]>
<!-- <![CDATA[ ]]> 사용 --> <select id="getEmployeeSalary"> SELECT EMPLOYEE_ID FROM EMPLOYEE WHERE <![CDATA[ SALARY < 10000 ]]> </select>
<![CDATA[ ]]>의 [] 안에 또는 쿼리문을 안에 적어도 된다.
해결방법 - 2 : gt, lt
<!-- gt, lt 사용 --> <select id="getEmployeeSalary"> SELECT EMPLOYEE_ID FROM EMPLOYEE WHERE SALARY < 10000 </select>
기호 대체식 예제 < lt salary < 10000 > gt salary > 10000
when, if 절 test에 부등호 사용 방법
<if test="salary > 10000> 처럼 작성하고 싶을 경우 <if test="salary lt 10000>
<when test="salary > 10000> 처럼 작성하고 싶을 경우 <when test="salary lt 10000>
<!-- gt, lt 사용 --> <select id="getEmployeeSalary"> SELECT EMPLOYEE_ID FROM EMPLOYEE WHERE 1=1 <if test="salary lt 10000> AND DEPT = '1000' </if> </select>
기호 대체식 예제 < lt <if test="salary lt 10000"> > gt <if test="salary gt 10000"> 도움이 되셨다면 아래 ♡ 눌러주세요 (로그인 필요 없습니당)
'Study > Java' 카테고리의 다른 글
[Maven] Eclipse에서 Maven 프로젝트 생성 방법 (0) 2021.01.02 [MyBatis] Oracle 부적합한 열유형 null 처리방법 (0) 2020.12.31 [MyBatis - Error] java.lang.IllegalArgumentException : Mapped Statements collection does not contain value (0) 2020.12.22 이클립스 자동빌드 / 수동빌드 (2) 2020.08.20 [JComponent] JLabel 줄바꿈 (0) 2020.07.28