Spring을 전혀 사용해보지 않고 단순히 레거시 코드만 참고하여 코드를 작성하다보니 오류가 났었다.
원인은 spring에서 지원하는 ibatis에 작성한 부등호('<')였다...!!!
💡 iBATIS(아이바티스)란?
SQL에 기반한 데이터베이스와 Java, Ruby 등을 연결시켜 주는 역할을 하는 영속성 프레임워크(Persistence Framework)이다. 이러한 연결은 프로그램의 소스코드에서 SQL 문장을 분리하여 별도의 XML 파일로 저장하고 이 둘을 서로 연결시켜주는 방식으로 작동한다.
(출처 : https://ko.wikipedia.org/wiki/IBATIS)
즉, xml 파일 형식으로 코드가 작성되기 때문에 일부 문자열(특수문자 등)이나 부등호는 제한된다.
※ 특히, xml에서는 태그(tag)를 사용하기 때문에 부등호를 그대로 사용하면 컴퓨터가 해석을 못함...
이 때 사용하는 것이 바로 CDATA다.
사용하려는 부등호를 <![CDATA[ {사용할 부등호} ]> 형식으로 입력하여 작성하면 기존에 작성했던 SQL의 부등호로 컴퓨터가 해석할 수 있다.
📌사용예시
Before | After |
<select> SELECT COLUMN FROM TABLE_NAME WHERE CONDITION < 100 </select> |
<select> SELECT COLUMN FROM TABLE_NAME WHERE CONDITION <![CDATA[ < ]> 100 </select> |
댓글