Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

프로그래밍 이것저것 끄적끄적

[Mybatis] <sql>,<include> 본문

Mybatis

[Mybatis] <sql>,<include>

코딩햄 2022. 10. 28. 11:01
728x90
SMALL
<sql>

 

 

<sql> 태그는 다른 구문에서 재사용가능한 SQL구문을 정의할 때 사용합니다. 사용방법은 <sql>태그 id속성 추가 및 id속성 값을 부여 해준 후 태그 내에 사용할 쿼리를 작성하면 끝입니다.

 

<sql id="id값">
-- 사용할 쿼리
</sql>

하지만 주의해야 할 점은 <sql> 태그 내에 있는 쿼리들을 재사용하고 싶다면 재사용할 쿼리의 상단에 선언되어야 한다는점입니다. 특정 태그의 쿼리에서 <sql>태그의 쿼리를 불러오는 명령을 하였지만, 상단에 선언되어있지 않고 하단에 선언되어 있다면 불러올수 없습니다.

 

<sql>
--사용할 쿼리
</sql>
<select>
--사용할 쿼리
</select>
----------------OK--------------------

<select>
--사용할 쿼리
</select>
<sql>
--사용할 쿼리
</sql>
------------------x-------------------

 

 

 <sql>태그 내에 파라미터 값을 추가해줘도 상관없습니다. 단 해당 태그를 불러오는 쿼리문에서 <sql> 태그 내에 선언된 파라미터 값을 처리할 수 있는 인자 값이 존재해야만 에러가 나지 않습니다.

 

<sql id="t1">
title = #{title}
</sql>

 

 

<include>

 

 

 같은 파일 내에 정의해둔 <sql> 태그 내의 쿼리들을 불러올 수 있게 해 줍니다. 사용법은 <include> 태그를 선언하고 해당 태그에 refid속성을 추가 해준 뒤 속성 값으로 불러오고자 하는 <sql> 태그의 id속성 값을 삽입해주면 끝입니다.

 

<sql id="common_where_bno">
where bno = #{bno}
</sql>

<select id="getTitle" resultType="String">
select title from tbl_board
<include refid="common_where_bno">
</include>

</select>
728x90
LIST
Comments