써먹는 웹개발

[Mybatis] Array 변수(파라미터)의 null 체크하는 2가지 방법 본문

Server/Mybatis (.xml)

[Mybatis] Array 변수(파라미터)의 null 체크하는 2가지 방법

kmhan 2020. 3. 20. 12:54


728x90
반응형

1. Array 파라미터를 넘길때

<if test="!파라미터명.isEmpty()">

AND 컬럼명 IN 

 <foreach collection="파라미터명" item="item" separator="," open="(" close=")">
   #{item}

 </foreach>

</if>

 

2. Array 파라미터를 안 넘길때

service 부분

package kr.co.develop.service;

import ...;

@...
public class CmCodeService {

    // 파라미터값이 없을때
    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);
    }
}

<if test="@kr.co.develop.service.CmCodeService@isNotEmpty(파라미터명)">

 <foreach collection="파라미터명" item="item" separator="," open="(" close=")"> 
   #{item}

 </foreach>

</if>

 

2번 출처 : https://bulkywebdeveloper.tistory.com/116

728x90
반응형


Comments