본문 바로가기

Tip

[mybatis] if 비교

<if test="logCount <= 0">

      #{logCount}, 

 </if>

 

XML에 기록하면 오류가 남.

 

원인은 해당 문서가 XML이기 때문에 SAX Parser가 동작하면서 "<" 기호를 XML Parsing대상으로 인식했기 때문입니다. 

따라서 HTML 문서에 쓰듯이 해당 문자들에 대해서 다음과 같은 형태로 다르게 써야 합니다. HTML과의 차이점은 앞에 &라던가 ; 같은 기호를 안 붙여도 된다는 점이죠.

 

 기호

 대체식

예제

lt 

 <if test="logCount lt 0">

>

gt

<if test="logCount gt 0"> 

<= (또는 =<)

lte 

 <if test="logCount lte 0">

 >= (또는 =>)

gte

 <if test="logCount gte 0">

 

 

아마도 이런 오류를 안 만나신 분들은 SQL을 넣는 문서로 XML을 안 쓰신 분들로 보입니다. (MyBatis 설정에서 해당 문서를 XML이 아니라 SQL등의 Text문서로도 정의할 수 있습니다.) 이런 경우에는 이런 제약점은 없겠지만, XML을 쓰는 좋은 이유들이 있기 때문에 앞으로도 계속 쓰게 될 듯 하네요. 전에 포스팅한 것과 같이 꼭 명심하고 사용해야겠습니다.

 

 

감사합니다.

출처 : https://m.blog.naver.com/PostView.nhn?blogId=admass&logNo=220548334257&proxyReferer=https%3A%2F%2Fwww.google.com%2F

'Tip' 카테고리의 다른 글

[javascript] attr(), prop() 차이  (0) 2020.04.02
[spring] file upload size 설정  (0) 2020.04.02
[JAVA] 날짜, 시간 제대로 사용하기  (0) 2020.04.02
[mybatis] select 결과를 hashMap 에 저장  (0) 2020.04.02
[javascript] decodeURI  (0) 2020.04.02