ÃֽŠ°Ô½Ã±Û(JAVA)
2017.04.27 / 19:37

MyBatis3 µ¿Àû Äõ¸®(if, choose)

Scoda
Ãßõ ¼ö 179

º¹ÀâÇÑ ÇüÅÂÀÇ Äõ¸®¸¦ ¸¸µé´Ù º¸¸é ·ÎÁ÷¿¡µû¶ó if¹®À» Ãß°¡ÇØ¾ß ÇÑ´Ù´øÁö
if else ¹®À» Ãß°¡ÇؾßÇÒ °æ¿ì°¡ ÀÖ´Ù. 

myBatis´Â À̸¦À§ÇØ µ¿Àû Äõ¸®¸¦ À§ÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù.
±×Áß¿¡¼­µµ °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â if ¹®°ú choose¹®À» »ìÆ캸ÀÚ.

µ¿ÀûÄõ¸®´Â XML ¸ÅÆÛ¿¡ ÁöÁ¤ÇÏ°Ô µÇ´Âµ¥, JSTLÀ» »ç¿ëÇغôø »ç¶÷µéÀ̶ó¸é Å« ¾î·Á¿òÀÌ ¾ø´Â ¹®¹ýÀÌ´Ù.


1. IF¹®
´ÜÀÏ IF ¹® À̶ó°í º¸¸é µÈ´Ù. ´ÙÀ½Àº age¶ó´Â ¼Ó¼ºÀÇ °ªÀÌ nullÀ̳ª ºó°ªÀÌ ¾Æ´Ò¶§ °Ë»öÁ¶°Ç¿¡ Ãß°¡ÇÏ´Â ±¸¹®ÀÌ´Ù.


    <select id="getContentsP" parameterType="hashmap" resultType="com.test.vo.TestVo">
    
        SELECT
            id, name
        FROM
            TB_test a
        WHERE

            type = 'A' 
            
            <if test="age != null AND age != ''">
                AND age = #{age}
            </if>
            
    </select>



2. Choose¹®
¿ì¸®°¡ ÈçÈ÷ °³¹ßÇÒ¶§ »ç¿ëÇÏ´Â if else¿Í °°´Ù°í º¸¸é µÈ´Ù



 

    <select id="getContentsP" parameterType="hashmap" resultType="com.test.vo.TestVo">
    
        SELECT
            id, name
        FROM
            TB_test a
        WHERE

            type = 'A'
            
            <choose>
                
                <when test="age > 20 ">
                    AND age > #{age}
                </when>
                
                <when test="age < 20 ">
                    AND age < #{age}
                </when>
                
                <otherwise>
                    AND age is not null
                </otherwise>
                
            </choose>
            
            
            
    </select>



Ãâó: http://fruitdev.tistory.com/34 [°úÀÏ°¡°Ô °³¹ßÀÚ]