728x90
반응형
Mybatis 사용 중 select 문을 사용하고 있다가
com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException; The content of elements must consist of well-formed character data or markup.
이란 오류를 보거나 xml에서 빨간 줄이 나면서 에러가 있다는 것을 알려줄 때가 있는데
이때 빨간 줄 또는 오류 내용을 보고 찾게 되면
select 문에서 <>에 오류 표시가 되어 있다는
것을 알게 되었다 검색을 해보니 이유로는 <> 문자가 파싱 중에
태그로 인식 되어 발생하는 오류라고 하며 이러한 오류는 <! [CDATA[]]> 를
이용하여 [] 안에 필요한 문자 <>를 넣어 주어 해결 가능하다
예시
select * from Test where test_number <= 1;
에서 아래 코드로 변경
select * from Test where test_number <![CDATA[<=]]> 1;
찾아보니 위의 코드처럼 적용할 문자에만 써도 되지만 select 문 전체에 써줘도 된다
또한 그렇게 사용할 경우 동적 쿼리를 사용할 수 없다고 하니 동적 쿼리를 사용할 경우
문자에만 사용해 줘야 한다.
728x90
반응형
'개인 공부' 카테고리의 다른 글
intellij 사용시 깃 계정 여러개 사용 (0) | 2024.05.10 |
---|---|
형태소 분석기 비교 (4) | 2020.12.05 |
면접 준비하면서 공부(1) (0) | 2020.12.05 |