Java 通过属性名称读取或者设置实体的属性值

Java 通过属性名称读取或者设置实体的属性值

原因

项目实战中有这个需求,数据库中配置对应的实体和属性名称,在代码中通过属性名称获取实体的对应的属性值。

解决方案

工具类,下面这个工具是辅助获取属性值

import com.alibaba.fastjson.JSONObject;
public class StringUtil {
    /**
     * 对象转成json字符串
     *
     * @param obj
     * @return
     */
    public static String toJson(Object obj) {
        return JSONObject.toJSONString(obj);
    }

    /**
     * 对象转成JSONObject
     *
     * @param obj
     * @return
     */
    public static JSONObject toJsonObject(Object obj) {
        return JSONObject.parseObject(toJson(obj));
    }

    /**
     * 获取对象的指定字段的值
     *
     * @param obj
     * @param propName
     * @return
     */
    public static String getPropValue(Object obj, String propName){
        String propValue = StringConst.EMPTY;
        try {
            if(null!=obj) {
                JSONObject jsonObject = toJsonObject(obj);
                if (!StringUtil.isEmptyOrNull(propName)) {
                    propValue = jsonObject.getString(propName);
                }
            }
        } catch (Exception e) {
            log.error(e.getMessage());
        }
        return propValue;
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java 通过属性名称读取或者设置实体的属性值