package com.paile.utils.beans; import java.beans.PropertyDescriptor; import java.sql.Timestamp; import java.util.List; import java.util.Set; import org.apache.commons.beanutils.PropertyUtilsBean; import com.mongodb.BasicDBList; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; /*** * 由JavaBean 到mongoDB的DBObject对象的转换(不包含子对象和集合对象) * @author libo */ public class SimpleJavaBean2DBObject { /*** * 将普通Java对象属性复制到DBObject里面(不包含子对象和集合对象) * @param ogi 普通Java对象 *@return 返回DBObject对象 */ public static DBObject copyProperties(Object orig,DBObject dbObj)throws Exception{ if(orig==null){ throw new IllegalArgumentException("No object bean specified,or is null"); } PropertyUtilsBean pro = new PropertyUtilsBean(); PropertyDescriptor[] origDescriptors = pro.getPropertyDescriptors(orig.getClass()); for (int i = 0; i < origDescriptors.length; i++) { PropertyDescriptor pdesc = origDescriptors[i]; String name = pdesc.getName(); if ("class".equals(name)) { continue; // No point in trying to set an object's class }; if (pro.isReadable(orig, name)){ Class<?> t = pdesc.getPropertyType(); boolean isPrimitive = MyBeanUtils.isPrimitiveType(t); if(isPrimitive){ //基础类型(8大类型+String) Object value = pro.getSimpleProperty(orig, name); dbObj.put(name, value); }else if(t == Timestamp.class){ Object value = pro.getSimpleProperty(orig, name); dbObj.put(name, value); }else{ Object value = pro.getSimpleProperty(orig, name); if(t.isAssignableFrom(List.class) ||t.isAssignableFrom(Set.class)){ if(value!=null){ List list = (List)value; if(list.isEmpty()) continue; BasicDBList dbList = new BasicDBList(); for(int j = 0;j<list.size();j++){ Object object = list.get(j); DBObject db = new BasicDBObject(); if(object!=null) copyProperties(object, db); dbList.add(db); } dbObj.put(name, dbList); } }else{ DBObject db = new BasicDBObject(); if(value!=null) copyProperties(value, db ); dbObj.put(name, db); } } } } return null; } }
相关推荐
"Java反射 JavaBean 对象自动生成插入、更新、删除、查询sql语句操作" Java反射JavaBean对象自动生成插入、更新、删除、查询sql语句操作是指通过Java反射机制,依据提供的表名、POJO类型、数据对象自动生成sql语句...
在Java开发中,数据库操作是不可或缺的一部分,而数据库对象与Java Bean之间的转换是数据层与业务层交互的关键。本文将详细讲解如何将数据库实体对象转换为Java Bean对象,以实现数据的有效封装和处理。 首先,我们...
JavaBean转XML的过程与XML转JavaBean相反。首先,创建一个JAXBContext对象,然后获取Marshaller实例。通过调用Marshaller的marshal()方法,我们可以将JavaBean对象转换为XML字符串或者写入XML文件。 3. XML标签大小...
而JAXB(Java Architecture for XML Binding)是Java提供的一种标准API,它允许我们轻松地在Java对象(javabean)和XML文档之间进行转换。通过JAXB,开发者可以避免手动编写XML解析和序列化代码,极大地提高了开发...
忽略字段的首字母大小写,将json字符串转成javabean对象,解决Java对象中属性中首字母大写而取不到值(取到的值为空)的问题 忽略字段的首字母大小写,将json字符串转成List,解决Java对象中属性中首字母大写而取不...
JavaBean是Java对象的一种标准设计模式,主要用于封装数据和业务逻辑;而Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。两者之间的相互转换在Web...
通过读取解析固定模板中的内容,生成JavaBean类。 除了生成Bean ,也可以生成其他类,可自行扩展。 这种场景比较局限,项目开发中用到的不多,如果定义类有几十、表字段很多,同时应对项目初期,表结构表更需求较多...
在实际开发中,有时我们需要将XML文件中的数据转换为JavaBean对象,或者将JavaBean对象转换为XML格式的数据,这可以通过一些库来实现,比如Jox。 Jox(Java Object to XML)是一个轻量级的Java库,专门用于在Java...
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
Spring提供了多种方式来实现这一点,例如使用`BeanDefinition`对象。`BeanDefinition`包含了关于Bean的所有元数据,如类名、依赖关系、初始化方法等。一旦创建了`BeanDefinition`,就可以将其注册到`...
JavaBean是Java对象的一种规范,用于封装数据,而JsonString是一种轻量级的数据交换格式,常用于前后端交互。本篇将深入探讨JavaBean与JsonString之间的相互转换方法。 1. **什么是JavaBean** JavaBean是一种遵循...
下载了绝对不后悔,100%好用,支持Mysql Oracle SQL Server ,PostgreSQl.等数据库 还有各种集成的小工具 表名互转驼峰,,,,Json.XML 字符串格式化..JSon与XMl互转,String字符串拼接等功能
总结来说,`javaBean to json java对象转换 jar`这个主题涉及到Java对象的序列化、JSON数据格式以及Java的归档文件系统。通过使用类似`JsonFactory.toJson()`这样的方法,开发者可以方便地将JavaBean对象转换为JSON...
如果需要将JavaBean对象转换为Map,可以自定义一个方法或者使用一些第三方库如ModelMapper。这里展示一个自定义转换的例子: ```java public Map, Object> toMap(Object obj) { Map, Object> map = new HashMap...
在Java应用中,我们经常需要将JavaBean对象序列化为XML格式,或者从XML文档反序列化成JavaBean对象,以实现数据的持久化或在网络间传递。 Java内置的JAXB(Java Architecture for XML Binding)框架提供了JavaBean...
"Json一键转Javabean工具"是一个实用的开发辅助工具,它能够帮助Java开发者快速地将JSON格式的数据转换成对应的JavaBean对象,极大地提高了开发效率。 JSON转换为JavaBean的过程通常包括以下步骤: 1. **解析JSON...
通过JAXB,你可以很容易地将JavaBean对象转换为XML,并将XML反序列化回JavaBean。使用JAXB,你需要定义一个XML绑定(@XmlRootElement和@XmlAccessorType等注解)来指定JavaBean的字段如何映射到XML元素。 2. **DOM...
XStream是一款强大的Java库,它能将Java对象序列化为XML,同时也能将XML反序列化为Java对象,极大地简化了XML与JavaBean之间的交互。其工作原理主要是通过反射机制获取Java对象的属性,并将其映射到XML元素上。 ...
1. **JavaBean对象转JSON** JavaBean是一种遵循特定规范的Java类,通常用于封装数据。将JavaBean对象转为JSON时,我们可以使用如Jackson、Gson、Fastjson等流行的JSON库。以Jackson为例,首先需要引入Jackson库的...
在Java中操作MongoDB数据库时,常常需要将Java对象(对象Bean)与MongoDB的数据表示对象DBObject进行相互转换。这主要是因为MongoDB的驱动程序使用DBObject来存储和检索数据,而我们通常会用面向对象的方式来定义和...