개발 기록이

[Mybatis] <sql>, <include> 를 이용한 중복쿼리 묶기 본문

기록/Database

[Mybatis] <sql>, <include> 를 이용한 중복쿼리 묶기

studyingbackhoe 2023. 9. 28. 13:42

mybatis mapper를 작성할 때, 중복으로 사용되는 조건절인 경우에는 자바스크립트의 function()처럼 따로 만들어두고 필요할 때만 해당 조건절을 가져와서 사용할 수 있다.

<!-- 공통으로 사용할 쿼리를 <sql> 을 이용하여 작성 -->
<sql id="condition">
	<where>
		fruit_name like '%' + #{parameterValue} + '%'
	</where>
</sql>

<select id="fruitNmList" parameterType="HashMap" resultType="HashMap">
	SELECT * 
    	FROM fruitTable
	<include refid="conditon" /> <!-- <include>를 이용하여 <sql>에 작성한 쿼리 내용을 가져옴 -->
</select>

 
다음과 같은 쿼리와 동일한 결과를 나타낸다.

<select id="fruitNmList" parameterType="HashMap" resultType="HashMap">
	SELECT * 
    	FROM fruitTable
	WHERE fruit_name like '%' + #{parameterValue} + '%'
</select>

 

Sql 아이콘 제작자: Dimitry Miroliubov - Flaticon

출처: https://milenote.tistory.com/68