| 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); | 
|     } | 
| } |