mybatis 키워드 검색

Jiwon Park·2023년 3월 14일
0
<select id="select_all" parameterType="hashMap" resultType="hashMap">
    <![CDATA[
 		select * from book where 1=1
    ]]>
    <if test="keyword != null and keyword != ''">  
	and (title like CONCAT('%',#{keyword},'%') or category like CONCAT('%',#{keyword},'%'))  
	</if>  
	order by date desc  
	</select>

where에서 1=1은 항상 참이다. 검색 조건을 and로 연결하기위해 사용된다.

<if 문은 마이바티스에서 조건을 표현한다. test 는 조건의 규칙을 나타내는 표현이다.

만약 키워드가 있으면 (null이 아니고 값이 없지도 않으면) if 구문이 쿼리에 포함된다.

이와 같이 sql의 결과가 쿼리의 특정 조건에 따라 다르게 나오는 것을 동적쿼리 Dynamic Query 라고 한다.
mybatis에서 사용할 수 있는 동적 쿼리는 WHERE절에 파라미터를 적용한 기본적인 방법이 있다.

profile
안녕하세요

0개의 댓글