❤️01_Java

#mybatis #태그 #구문

roomname-dev 2023. 11. 16.
728x90
반응형

 

 

⭐구문 : <if test="[true 또는 false의 비교연산]"></if>
검색 조건의 type항목이 Title일 때 예시

<if test="type == 'Title'"> 
	TITLE LIKE '%'||#{keyword}||'%' 
<if>
<choose>태그는 <when>, <otherwise>와 함께 사용된다. 
<when test="[true 또는 false의 비교연산]"></when>
<otherwise></otherwise>

<choose>
	<when test="type='Title'">
    	TITLE LIKE '%'||#{keyword}||'%'
    </when>
	<when test="type='Content'">
    	CONTENT LIKE '%'||#{keyword}||'%'
    </when>
	<when test="type='Writer'">
    	WRITER LIKE '%'||#{keyword}||'%'
    </when>
    <otherwise>
    	TITLE LIKE '%'||#{keyword}||'%' OR CONTENT LIKE '%'||#{keyword}||'%' OR WRITER LIKE '%'||#{keyword}||'%'
    </otherwise>
</choose>
<where>태그는 <if>태그 조건에 따라 where절 내역을 추가 할수 있다. 

SELECT * FROM TBL_TABLE
<WHERE>
	<if test="bno != null">
    	bno = #{bno}
    </if>
</WHERE>
<trim> 동적태그를 통해 상황에 맞춰 코드를 추가 및 삭제하는 태그 로 상황에 따라 태그속 원하는 내역을 
삭제 가능하다. 

<trim prefix="[trim태그 앞에 붙을 코드]" 
subfix="[trim태그 뒤에 붙을 코드]" 
prefixOverrides="[trim태그 속에 있는 코드 중 상황에 맞추어 제외하거나 존재하게 할 코드]">

SELECT * FROM TBL_BOARD
<where>
	<if test="bno != null">]
    	BNO = #{bno}
    </if>
    <trim prefixOverrides="AND">
    	AND ROWNUm = 1
    </trim>
</where>
<foreach>는 List, 배열, map 등을 이용한 반복 처리 가능
<foreach item="value" index="key" collection="[List or 배열 or map]">

<select id="getList" resulttype="BoardVO"> 
	
    select bno, title, content, writer from tbl_board where bno IN 
    
    <foreach item="bno" collection="bnoArr" open="(" close=")" separator=",">
    #{bno} 
    </foreach> 
    
</select>

 

 

 

Ref. https://heekng.tistory.com/93
Ref. https://kimvampa.tistory.com/180
 
728x90
반응형

댓글