Java/mybatis
[mybatis] sql 문의 부등호 사용시 오류 해결 방법
너무 궁금해
2025. 3. 18. 15:09
📢 [mybatis] sql 문의 부등호 사용시 오류 해결 방법
🙌 mybatis내의 sql 문 사용예제입니다. (ms-sql server sql 문을 이용한 예제입니다.)
<select id="verifySms" parameterType="String" resultType="String">
select 'Y'
from verifyTelephone
where authCode = #{authCode}
and datediff(hour, createDate, GETDATE()) = 1
</select>
🙌 하지만, 부등호가 사용되면 오류가 발생합니다.
<select id="verifySms" parameterType="String" resultType="String">
select 'Y'
from verifyTelephone
where authCode = #{authCode}
and datediff(hour, createDate, GETDATE()) <= 1
</select>
🙌 MyBatis에서 <(작다), >(크다) 같은 부등호를 사용할 때는 XML의 특성상 엔티티 코드로 변환해야 합니다.
🚨 오류 원인
✔ XML에서는 <와 >를 태그로 인식하기 때문에, 직접 사용하면 파싱 오류가 발생합니다.
✅ 해결 방법: <, > 사용
< → <
> → >
🙌 아래와 같이 사용하면 오류가 발생하지 않습니다.
<select id="verifySms" parameterType="String" resultType="String">
select 'Y'
from verifyTelephone
where authCode = #{authCode}
and datediff(hour, createDate, GETDATE()) <= 1
</select>