[Mybatis] 이스케이프 처리 개념과 예제

이스케이프(Escape) 처리는 특수한 의미를 가지는 문자나 문자열을 다른 문자열로 변환하여 처리하는 것을 말합니다. 이는 주로 데이터베이스나 프로그래밍 언어에서 특정 문자들을 안전하게 처리하거나 전달하기 위해 사용됩니다. MyBatis에서는 XML을 사용하기 때문에 특정 문자들이 XML 형식에 영향을 주지 않도록 이스케이프 처리를 해야할 때가 있습니다.

예제: 이스케이프 처리

MyBatis에서 이스케이프 처리는 주로 XML 안에서 사용되는 특수 문자들을 다른 문자로 변환하여 사용하는 것을 의미합니다.

<insert id="insertBook" parameterType="Book">
  INSERT INTO books (title, author)
  VALUES
  (
    #{title},
    #{author}
  )
</insert>` 

위의 예제에서 XML 안에서 사용되는 <, >, &, ', "와 같은 특수 문자들은 이스케이프 처리가 필요합니다. MyBatis에서는 이스케이프 처리를 위해 아래와 같은 형식을 사용합니다:

따라서 위의 예제를 이스케이프 처리한 결과는 아래와 같이 됩니다:

<insert id="insertBook" parameterType="Book">
  INSERT INTO books (title, author)
  (
    &lt;#title&gt;,
    &lt;#author&gt;
  )
</insert>` 

XML 안에서는 이스케이프 처리를 사용하여 특수 문자를 안전하게 처리할 수 있습니다. 이스케이프 처리를 사용하지 않으면 XML의 구조가 깨질 수 있으므로 주의해야 합니다.