프로그래밍 이것저것 끄적끄적
[Mybatis] <sql>,<include> 본문
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