카테고리 없음

mybatis / include refid

xx.luna.xx 2024. 11. 8. 10:53

MyBatis에서 <include> 태그와 refid 속성은 코드의 재사용성을 높이고, XML 매핑 파일에서 반복되는 SQL 구문을 줄이는 데 사용됩니다.

<include> 태그의 역할

  • <include> 태그는 XML 매퍼 파일에서 미리 정의된 SQL 구문을 가져와 다른 SQL 구문에 포함시킬 수 있도록 합니다.
  • 이 기능을 통해 공통된 SQL 조각을 여러 매퍼에서 쉽게 재사용할 수 있습니다.

refid 속성

  • refid는 참조할 SQL 구문 조각의 식별자(ID)를 지정하는 속성입니다.
  • refid에 지정된 값은 다른 곳에서 <sql> 태그로 정의된 구문을 참조합니다.

사용 예시

  1. 공통 SQL 조각 정의:
  2. xml
    코드 복사
    <sql id="userColumns"> id, name, email </sql>
  3. <include> 태그로 공통 SQL 포함:
  4. xml
    코드 복사
    <select id="selectAllUsers" resultType="User"> SELECT <include refid="userColumns" /> FROM users </select>

위 예시에서 refid="userColumns"는 미리 정의된 id, name, email SQL 조각을 가져와 select 구문에 포함시킵니다.

이렇게 하면 SQL 구문의 일관성을 유지하면서 중복 코드를 줄이고, 유지보수를 더 쉽게 할 수 있습니다.