package com.moral.api.config.mybatis.wrapper; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
 | 
import com.baomidou.mybatisplus.core.enums.SqlKeyword; 
 | 
import com.baomidou.mybatisplus.core.enums.SqlLike; 
 | 
import org.springframework.util.ObjectUtils; 
 | 
  
 | 
import java.util.Collection; 
 | 
  
 | 
/** 
 | 
 * @ClassName FiltNullWrapper 
 | 
 * @Description 查询构造器,传入null并不会作为条件 
 | 
 * @Author 陈凯裕 
 | 
 * @Date 2021/3/30 10:45 
 | 
 * @Version TODO 
 | 
 **/ 
 | 
public class NullFilterWrapper<T> extends QueryWrapper<T> { 
 | 
  
 | 
    @Override 
 | 
    protected QueryWrapper<T> likeValue(boolean condition, SqlKeyword keyword, String column, Object val, SqlLike sqlLike) { 
 | 
        if(val==null) 
 | 
            condition = false; 
 | 
        return super.likeValue(condition, keyword, column, val, sqlLike); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public QueryWrapper<T> between(boolean condition, String column, Object val1, Object val2) { 
 | 
        if(val1==null||val2==null) 
 | 
            condition = false; 
 | 
        return super.between(condition, column, val1, val2); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public QueryWrapper<T> eq(boolean condition, String column, Object val) { 
 | 
        if(val==null) 
 | 
            condition = false; 
 | 
        return super.eq(condition, column, val); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public QueryWrapper<T> in(boolean condition, String column, Collection<?> coll) { 
 | 
        if(ObjectUtils.isEmpty(coll)) 
 | 
            condition = false; 
 | 
        return super.in(condition, column, coll); 
 | 
    } 
 | 
} 
 |