一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|

服務器之家 - 編程語言 - JAVA教程 - java操作mongodb時,對象bean和DBObject相互轉(zhuǎn)換的方法(推薦)

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

2020-07-01 11:32java教程網(wǎng) JAVA教程

下面小編就為大家?guī)硪黄猨ava操作mongodb時,對象bean和DBObject相互轉(zhuǎn)換的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如下所示:

java" id="highlighter_150120">
?
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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對象轉(zhuǎn)換成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();
   // 修改訪問控制權(quán)限
   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);
   }
   // 恢復訪問控制權(quán)限
   field.setAccessible(accessFlag);
  }
  return dbObject;
 }
 
 /**
  * 把DBObject轉(zhuǎn)換成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;
 }
}

以上就是小編為大家?guī)淼膉ava操作mongodb時,對象bean和DBObject相互轉(zhuǎn)換的方法(推薦)全部內(nèi)容了,希望大家多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品天天在线 | 国产精品高清视亚洲一区二区 | avtt在线播放| 国产精品久久久免费视频 | 337p大尺度啪啪人体午夜2020 | 国产成人综合精品一区 | 天天操夜夜操狠狠操 | 91美女在线 | 久久不射电影网 | 日本道色综合久久影院 | 大片毛片女女女女女女女 | 97se狠狠狠狠狼亚洲综合网 | 18美女光胸光屁屁洗澡 | 国产视频福利 | 天堂在线国产 | 欧美一级xxxx俄罗斯一级 | 亚洲sss综合天堂久久久 | 24adc年龄18岁欢迎大驾光临 | 欧美国产日本精品一区二区三区 | 大胸孕妇孕交pregnantsex 大象视频污 | 日本一区二区三区久久 | 男人的天堂在线观看视频不卡 | 精品国语对白精品自拍视 | 2021国产精品露脸在线 | 高清在线看| 草莓视频看污 | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | 黄在线观看www免费看 | 亚洲AV无码乱码国产麻豆穿越 | 爆操美女 | 成人精品视频 成人影院 | xnxx动漫| sss在线观看免费视频 | 日本在线观看www鲁啊鲁视频 | 欧美肥胖老妇做爰变态 | poren18美女 | 特黄特a级特别特级特毛片 特黄a级三级三级野战 | 男人操女人视频 | b站免费网站入口 | 超h 超重口 高h 污肉1v1 | 亚洲2023无矿砖码砖区 |