Server/Mybatis (.xml)
[Mybatis] Array 변수(파라미터)의 null 체크하는 2가지 방법
kmhan
2020. 3. 20. 12:54
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