PC Program/Debug
Mybatis Where절 쓰기
너굴너굴울어봐
2020. 8. 18. 17:42
반응형
Project 를 진행 하는 중에 Mybatis로 MySQL textsets Table에서 동적으로 쿼리를 작성하고자 찾아보니
아주 좋은게 있었다...
바로 Where 절인데 아래처럼
select
num,
korea,
english,
china,
poland,
ukraine,
ranking
from
textsets
where
num = #{num}
AND korea = #{korea}
AND english = #{english}
AND china = #{china}
AND poland = #{poland}
AND ukraine = #{ukraine}
AND ranking = #{ranking}
여러 조건으로 AND 를 넣고 싶은데 모든 항목이 있을 때도 있고 없을 때도 있어서 난감하던 차에
mybatis where절 사용해보고 띠용...
첫 num가 없을 경우
where AND korea 이런식으로 되는데 이 부분이 문법에 어긋나기 때문에 어떡하나 고민했으나..
mybatis가 알아서 처음 조건의 AND를 빼준다니...
적용 후 MySQL 문법은 아래와 같다... ㅎㅎ 세상 좋넹..
<select id="selectTranslate" parameterType="translateVO" resultType="hashMap">
<![CDATA[
SELECT
Num,
korea,
english,
china,
poland,
ukraine,
ranking
FROM
textsets
]]>
<where>
<if test="korea != null">
<![CDATA[
AND korea = #{korea}
]]>
</if>
<if test="english != null">
<![CDATA[
AND english = #{english}
]]>
</if>
<if test="china != null">
<![CDATA[
AND china = #{china}
]]>
</if>
<if test="poland != null">
<![CDATA[
AND poland = #{poland}
]]>
</if>
<if test="ukraine != null">
<![CDATA[
AND ukraine = #{ukraine}
]]>
</if>
</where>
</select>
반응형