国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java操作mongodb時,對象bean和DBObject相互轉換的方法(推薦)

2019-11-26 13:36:21
字體:
來源:轉載
供稿:網友

如下所示:

package com.iqbon.spider.util;  import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.util.Date;  import org.apache.commons.beanutils.BeanUtils;  import com.mongodb.BasicDBObject; import com.mongodb.DBObject;  public class BeanUtil {   /**   * 把實體bean對象轉換成DBObject   * @param bean   * @return   * @throws IllegalArgumentException   * @throws IllegalAccessException   */  public static <T> DBObject bean2DBObject(T bean) throws IllegalArgumentException,    IllegalAccessException {   if (bean == null) {    return null;   }   DBObject dbObject = new BasicDBObject();   // 獲取對象對應類中的所有屬性域   Field[] fields = bean.getClass().getDeclaredFields();   for (Field field : fields) {    // 獲取屬性名    String varName = field.getName();    // 修改訪問控制權限    boolean accessFlag = field.isAccessible();    if (!accessFlag) {     field.setAccessible(true);    }    Object param = field.get(bean);    if (param == null) {     continue;    } else if (param instanceof Integer) {//判斷變量的類型     int value = ((Integer) param).intValue();     dbObject.put(varName, value);    } else if (param instanceof String) {     String value = (String) param;     dbObject.put(varName, value);    } else if (param instanceof Double) {     double value = ((Double) param).doubleValue();     dbObject.put(varName, value);    } else if (param instanceof Float) {     float value = ((Float) param).floatValue();     dbObject.put(varName, value);    } else if (param instanceof Long) {     long value = ((Long) param).longValue();     dbObject.put(varName, value);    } else if (param instanceof Boolean) {     boolean value = ((Boolean) param).booleanValue();     dbObject.put(varName, value);    } else if (param instanceof Date) {     Date value = (Date) param;     dbObject.put(varName, value);    }    // 恢復訪問控制權限    field.setAccessible(accessFlag);   }   return dbObject;  }   /**   * 把DBObject轉換成bean對象   * @param dbObject   * @param bean   * @return   * @throws IllegalAccessException   * @throws InvocationTargetException   * @throws NoSuchMethodException   */  public static <T> T dbObject2Bean(DBObject dbObject, T bean) throws IllegalAccessException,    InvocationTargetException, NoSuchMethodException {   if (bean == null) {    return null;   }   Field[] fields = bean.getClass().getDeclaredFields();   for (Field field : fields) {    String varName = field.getName();    Object object = dbObject.get(varName);    if (object != null) {     BeanUtils.setProperty(bean, varName, object);    }   }   return bean;  } }

以上就是小編為大家帶來的java操作mongodb時,對象bean和DBObject相互轉換的方法(推薦)全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 十堰市| 海兴县| 马公市| 安图县| 泗水县| 疏勒县| 沙河市| 军事| 米脂县| 温宿县| 贞丰县| 宁明县| 桑植县| 南宫市| 双辽市| 鄂托克前旗| 宜兴市| 灯塔市| 七台河市| 鄱阳县| 扎鲁特旗| 霸州市| 岑溪市| 昭觉县| 简阳市| 长岛县| 肥乡县| 无棣县| 方正县| 谷城县| 马关县| 遵化市| 双辽市| 淮安市| 城固县| 聂荣县| 黄梅县| 宁化县| 玛纳斯县| 全南县| 嘉义市|