1. 오류
Cause: org.xml.sax.SAXParseException; lineNumber: 424; columnNumber: 95; 요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다.
또는
Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 424; columnNumber: 95; 요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다.
2. 발생 원인
MyBatis 사용을 위한 .xml 파일에서 부등호 사용 시(<, >) 발생하는 에러
예시)
SELECT
CUST_NO
FROM CUSTOMER
WHERE GROUP_ID = T1.CGROUP_ID AND ROWNUM < 2
. . .
생략
3. 해결 방법
(1)단일 처리
-부등호를 <![CDATA[ '부등호' ]]> 이 안에 넣는다.
예시)
SELECT
CUST_NO
FROM CUSTOMER
WHERE GROUP_ID = T1.CGROUP_ID AND ROWNUM <![CDATA[ < ]]> 2
. . .
생략
(2)다중 처리
-하나의 쿼리에 여러 개의 부등호가 들어가야 하거나, 부등호 상관없이 작업을 진행해야 할 때에는 sql 전체를
<![CDATA[ ]]>로 감싼다.
예시)
=> CDATA 안에 부등호가 없어도 상관없음
끝.
UPDATE CMM_BBS_POST /* [com.symc.sdss.cmm.board.service.dao.generalBoard.updateLikeCnt] */
SET LIKE_CNT = (SELECT (NVL(MAX(TO_NUMBER(LIKE_CNT)), 0) + 1) FROM CMM_BBS_POST WHERE BBS_ID = #{bbsId} AND NTT_ID = #{nttId})
WHERE BBS_ID = #{bbsId}
AND NTT_ID = #{nttId}
]]>
UPDATE CMM_BBS_POST /* [com.symc.sdss.cmm.board.service.dao.generalBoard.updateLikeCnt] */
SET LIKE_CNT = (SELECT (NVL(MAX(TO_NUMBER(LIKE_CNT)), 0) + 1) FROM CMM_BBS_POST WHERE BBS_ID = #{bbsId} AND NTT_ID = #{nttId})
WHERE BBS_ID = #{bbsId}
AND NTT_ID = #{nttId}
]]>
'IT | 개발 > Database' 카테고리의 다른 글
[Oracle] 시퀀스 생성/조회/수정/삭제 예시 (2) | 2020.02.12 |
---|---|
[Oracle] row_number over partition by를 이용한 데이터 중복제거 정리(전체 column SELECT하기) (7) | 2020.01.24 |
[ORACLE] 단일 행 함수 간단 정리(LOWER, UPPER, CONCAT, SUBSTR, LPAD, LTRIM, REPLACE 등) (6) | 2020.01.21 |
[Oracle] 집합 연산자 정리 (UNION, UNION ALL, INTERSECT, MINUS) (6) | 2020.01.20 |
[오라클 | like] 특정 패턴 조회하기(한 글자, 여러 글자) (0) | 2020.01.19 |