[java] MyBatis에서 XML 외부 리소스 참조하기

MyBatis는 자바 언어를 사용하여 데이터베이스와 상호작용하는 ORM(Object-Relational Mapping) 프레임워크입니다. MyBatis의 매핑 정보는 XML 파일에 저장되는데, 때로는 XML 파일을 여러 개로 분할하여 관리해야할 때가 있습니다. 이때 XML 외부 리소스를 참조하여 Mybatis 매핑 파일을 조작할 수 있습니다.

외부 리소스 참조

MyBatis는 XML 파일에서 외부 리소스를 참조할 수 있는 기능을 제공합니다. 외부 리소스를 참조하여 XML 파일을 분할하고 관리하는 방법은 다음과 같습니다.

  1. 외부 리소스를 참조할 XML 파일의 최상단에 다음과 같은 선언을 추가합니다.

    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
  2. 외부 리소스를 참조할 XML 파일에 <sql> 요소를 추가합니다.

    <sql id="commonColumn">
        <!-- 외부 리소스에서 공통적으로 사용되는 SQL 구문 -->
    </sql>
    
  3. 다른 XML 파일에서 외부 리소스를 참조할 때는 <include> 요소를 사용합니다.

    <mapper namespace="com.example.mapper">
        <include refid="commonColumn"/>
        <!-- 다른 SQL 구문들 -->
    </mapper>
    
  4. 외부 리소스 XML 파일의 경로는 refid 속성에 지정합니다. 경로는 classpath 또는 파일 시스템 경로를 사용할 수 있습니다.

    <include refid="classpath:path/to/external.sql"/>
    <include refid="file:/absolute/path/to/external.sql"/>
    

위의 과정을 통해 외부 리소스를 참조하여 MyBatis 매핑 파일을 관리할 수 있습니다. 이를 통해 중복 코드를 줄이고 유지보수성을 높일 수 있습니다.

참고 자료