📢 [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>
'Java > mybatis' 카테고리의 다른 글
[mybatis] mybatis parameter가 2개 이상일 경우 사용방법 (0) | 2025.03.10 |
---|---|
[mybatis] resultType이 String인 경우 경고 메시지가 뜨네요 (1) | 2025.03.07 |
[ mariadb / mysql / mybatis ] Like문 사용방법 (0) | 2025.03.07 |