MongoDB:实体对象(javabean)转DBObject

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB:实体对象(javabean)转DBObject相关的知识,希望对你有一定的参考价值。

代码仅供练习(反射,泛型):

package utils;
import java.lang.reflect.Field;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import pojo.User;
public class BeanFromDBObject {
    /**
     * @Description:bean-->DBObject
     * @param  bean
     * @return DBObject 返回类型
     */
    public static <T> DBObject getDBObject(T bean) {
        if (bean == null) {
            return null;
        }
        DBObject obj = new BasicDBObject();
        Field[] field = bean.getClass().getDeclaredFields();
        for (Field f : field) {
            String name = f.getName();
            if (!f.isAccessible()) {
                f.setAccessible(true);
            }
            try {
                Object oj = f.get(bean);
                if (oj == null) {
                    obj.put(name, "");
                } else if (oj instanceof Integer) {
                    int value = ((Integer) oj).intValue();
                    obj.put(name, value);
                } else if (oj instanceof Double) {
                    Double value = ((Double) oj).doubleValue();
                    obj.put(name, value);
                } else if (oj instanceof Float) {
                    Float value = ((Float) oj).floatValue();
                    obj.put(name, value);
                } else if (oj instanceof Boolean) {
                    Boolean value = ((Boolean) oj).booleanValue();
                    obj.put(name, value);
                } else if (oj instanceof Long) {
                    Long value = ((Long) oj).longValue();
                    obj.put(name, value);
                } else {
                    obj.put(name, oj);
                }

            } catch (Exception e) {
                e.printStackTrace();
            }

        }
        return obj;

    }
}

 

以上是关于MongoDB:实体对象(javabean)转DBObject的主要内容,如果未能解决你的问题,请参考以下文章

java net.sf.json 如何将javabean的首字母转换为大写

javabean 与 json 相互转换问题 高手请进!

015_数据建模时,JavaBean的实体类中怎样处理外键

Java 中 Map与JavaBean实体类之间的相互转化

mongoDB基础语句

javabean为啥不能在实体类里写逻辑