jiangping
2025-04-21 c92ef51676efa03d41c1cf7b94f4077d58a7babd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.doumee.core.utils;
 
import java.lang.reflect.Field;
 
/**
 * Mybatis Plus Wrapper工具类
 * @author  dm
 * @since 2025/03/31 16:44
 */
public class MyBatisPlus {
 
    /**
     * 将空转为null,用于mybatis plus查询数据时将值为""的字段转为null,防止将空字符串作为条件。
     *
     * @return T
     */
    public <T> T blankToNull(T object) {
        if (object == null) {
            return null;
        }
        try {
            Class clazz = object.getClass();
            Field[] fields = clazz.getDeclaredFields();
            for (Field field : fields) {
                field.setAccessible(true);
                Object value = field.get(object);
                if ("".equals(value)) {
                    field.set(object, null);
                }
            }
            return object;
        } catch (Exception e) {
            throw new RuntimeException("EVA: parse parameter throw an exception", e);
        }
    }
}