oracle에서 큰따옴표("") 사용하기

gryoh·2022년 5월 11일
0

oracle과 mybatis사용 시에 큰따옴표("")를 넣고 싶은데 다른 문자로 치환되서 들어간다

처음에는 oracle문제인가 하고 oracle에서 직접 update구문을 써보니 정상적으로 큰따옴표가 들어감

음.. 그럼 mybatis문제인가하고 찾아보니 cdata를 쓰면 가능하다는걸 알게됨

쿼리를 작성할 때, '<', '>', '&'를 사용해야하는 경우가 생기는데 xml에서 그냥 사용할 경우 태그로 인식하는 경우가 종종 있다.. 이럴 경우 에러를 뱉어내기 때문에 '태그가 아니라 실제 쿼리에 필요한 코드'라고 알려줘야 한다. 그때 사용하는 것이 이다.

사용법

사용법
~~~xml
<![CDATA[

쿼리 내용

]]>

예시

전체 쿼리 CDATA 사용

<select id="getMember" resultMap="MemberDto">
    <![CDATA[
    select *
      from member
     where id < 3
    ]]>
</select>

중간에 CDATA 사용

<select id="getMember" resultType="MemberDto">
    select * 
      from member
    <if test="id != null">
     where id  <![CDATA[<]]> 3;
    </if>
</select>

0개의 댓글