ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 마아바티스에서 널 체크-자바클래스 이용
    마이바티스 2017. 5. 28. 21:23

    마이바티스에서는 자바 클래스를 이용해서 간단히 널 체크를 할 수 있다. 이 방법을 이용하면 널체크 쁜만 아니라 다양한 기능을 사용할 수

    있을 것 같다.



    1단계 널체크를 할 수 있는 자바 클래스를 만든다.


    package stove99.tistory.com;

     

    import java.lang.reflect.Array;

    import java.util.List;

    import java.util.Map;

     

    public class MyComparator {

        public static boolean isEmpty(Object obj){

            if( obj instanceof String ) return obj==null || "".equals(obj.toString().trim());

            else if( obj instanceof List ) return obj==null || ((List)obj).isEmpty();

            else if( obj instanceof Map ) return obj==null || ((Map)obj).isEmpty();

            else if( obj instanceof Object[] ) return obj==null || Array.getLength(obj)==0;

            else return obj==null;

        }

         

        public static boolean isNotEmpty(String s){

            return !isEmpty(s);

        }

    }



    출처: http://stove99.tistory.com/73 [스토브 훌로구]


    2단계 마이비티스에 적용


    <select id="testSQL" parameterType="map" resultType="hashmap">
        SELECT * FROM TB_TEST
        WHERE
            1=1
            <!-- @패키지.클래스명@호출할메소드(파라메터) -->
            <if test="@stove99.tistory.com.MyComparator@isEmpty(keyword)">
                AND KEYWORD = #{keyword}
            </if>
    </select>



    출처: http://stove99.tistory.com/73 [스토브 훌로구]



    '마이바티스' 카테고리의 다른 글

    insert 된 그 PK를 가져오기  (0) 2018.05.20
    인터셉터를 이용한 로그 기록  (0) 2017.05.29
Designed by Tistory.