精华内容
下载资源
问答
  • c#实体类转换

    2019-01-07 21:20:59
    实用的.net实体类转换,在项目中稳定长期的使用,好用分享给大家!
  • java项目实体类转换实例
  • 主要介绍了c#的DataTable与不同结构实体类转换的方法实例,在大数据量的情况下很实用,大家可以参考使用
  • Bean实体类转换

    千次阅读 2019-06-15 20:54:48
    Bean实体类转换 对象copy工具有很多,像dozer,orika等等。项目中对接搜索商品接口,原先是对接的是第三方平台的选单网,后面发现搜索类别实在太少了,只有一种like模糊搜索,后来打算用维易接口,搜索种类相对丰富...

    Bean实体类转换

    对象copy工具有很多,像dozer,orika等等。项目中对接搜索商品接口,原先是对接的是第三方平台的选单网,后面发现搜索类别实在太少了,只有一种like模糊搜索,后来打算用维易接口,搜索种类相对丰富。两者的商品实体类属性字段都各有差异,所以就通过从维易获取的结果转成选单的,使用了类型装换。搞了个demo,做个记录,方便以后查看。

    1.BaseDto

    package com.slx.outer.bean;
    
    
    import sun.reflect.generics.reflectiveObjects.NotImplementedException;
    
    abstract class BaseDto<T> {
    
        public BaseDto() {
        }
    
        public BaseDto(T t) {
        }
    
        abstract public T convertTo();
    
        public void setStatus(String status){
            throw new NotImplementedException();
        }
    
        public void check() {
        }
    
    
        @Override
        public String toString() {
            return GsonBuilderUtil.buildGson().toJson(this);
        }
    }
    

    2.GsonBuilderUtil

    package com.slx.outer.bean;
    
    import com.google.gson.Gson;
    import com.google.gson.GsonBuilder;
    
    
    public class GsonBuilderUtil {
    
        public static Gson buildGson() {
            return new GsonBuilder()
                    .disableHtmlEscaping()
                    .enableComplexMapKeySerialization()
                    .setDateFormat("yyyy-MM-dd HH:mm:ss")
                    .create();
        }
    }
    

    3.UserDO

    package com.slx.outer.bean;
    
    import java.io.Serializable;
    
    /**
     * @Author: slx
     * @Date: 2019/6/15 20:32
     */
    public class UserDO extends BaseDto<UserDTO> implements Serializable {
    
        private String userName;
    
        private String passWord;
    
        private String userType;
    
        private String mobile;
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPassWord() {
            return passWord;
        }
    
        public void setPassWord(String passWord) {
            this.passWord = passWord;
        }
    
        public String getUserType() {
            return userType;
        }
    
        public void setUserType(String userType) {
            this.userType = userType;
        }
    
        public String getMobile() {
            return mobile;
        }
    
        public void setMobile(String mobile) {
            this.mobile = mobile;
        }
    
        @Override
        public UserDTO convertTo() {
            UserDTO userDTO = new UserDTO();
            userDTO.setUserName(this.userName);
            userDTO.setUserType(this.userType);
            userDTO.setMobile(this.mobile);
            return userDTO;
        }
    
        @Override
        public String toString() {
            return "UserDO{" +
                    "userName='" + userName + '\'' +
                    ", passWord='" + passWord + '\'' +
                    ", userType='" + userType + '\'' +
                    ", mobile='" + mobile + '\'' +
                    '}';
        }
    }
    

    4、UserDTO

    package com.slx.outer.bean;
    
    /**
     * @Author: slx
     * @Date: 2019/6/15 20:33
     */
    public class UserDTO {
    
        private String userName;
    
        private String userType;
    
        private String mobile;
    
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getUserType() {
            return userType;
        }
    
        public void setUserType(String userType) {
            this.userType = userType;
        }
    
        public String getMobile() {
            return mobile;
        }
    
        public void setMobile(String mobile) {
            this.mobile = mobile;
        }
    
        @Override
        public String toString() {
            return "UserDTO{" +
                    "userName='" + userName + '\'' +
                    ", userType='" + userType + '\'' +
                    ", mobile='" + mobile + '\'' +
                    '}';
        }
    }
    

    5.测试

    package com.slx.outer.bean;
    
    import org.junit.Test;
    
    /**
     * @Author: slx
     * @Date: 2019/6/15 20:38
     */
    public class UserTest {
    
        @Test
        public void Test() {
            UserDO userDO = new UserDO();
            userDO.setUserName("shuPush");
            userDO.setPassWord("123456");
            userDO.setUserType("VIP");
            userDO.setMobile("15866666666");
            UserDTO userDTO = userDO.convertTo();
            System.out.println(userDO.toString());
            System.out.println(userDTO.toString());
        }
    }
    

    结果:

    UserDO{userName='shuPush', passWord='123456', userType='VIP', mobile='15866666666'}
    UserDTO{userName='shuPush', userType='VIP', mobile='15866666666'}
    
    展开全文
  • SolrDocument与实体类转换

    千次阅读 2017-10-10 11:14:16
    /** * * SolrDocument与实体类转换 * * @param document * SolrDocument对象 * @param clzz * 泛型类 * @return */ public
    /**
         * 
         * SolrDocument与实体类转换 
         * 
         * @param document
         *                     SolrDocument对象
         * @param clzz    
         *                     泛型类
         * @return <T>
         */
        public static <T> T solrDocumentToPojo(SolrDocument document, Class<T> clzz) {
            if (null != document) {
                try {
                    Object obj = clzz.newInstance();
                    Method m = null;
                    
                    Class<?> fieldType = null;
                    
                    for (String fieldName : document.getFieldNames()) {                        
                        
                        //需要说明的是返回的结果集中的FieldNames()比类属性多
                        Field[] filedArrays = clzz.getDeclaredFields();  //获取类中所有属性
                        for (Field f : filedArrays) {    
                            //如果实体属性名和查询返回集中的字段名一致,填充对应的set方法
    			/*if(fieldName.equals("_id")){
                        		fieldName="id";
                        	}*/
                            if(f.getName().equals(fieldName)){
                                
                                //获取到的属性名
                                f = clzz.getDeclaredField(fieldName);    
                                
                                //属性类型
                                fieldType = f.getType();    
                                
                                //构造set方法名  setId
                                String dynamicSetMethod = dynamicMethodName(f.getName(), "set");
                                
                                //获取方法
                                m = clzz.getMethod(dynamicSetMethod, fieldType);
                                
                                //获取到的值
                                // 如果是 int, float等基本类型,则需要转型
                                if (fieldType.equals(Integer.TYPE)) {
                                    fieldType = Integer.class;
                                } else if (fieldType.equals(Float.TYPE)) {
                                    fieldType = Float.class;
                                } else if (fieldType.equals(Double.TYPE)) {
                                    fieldType = Double.class;
                                } else if (fieldType.equals(Boolean.TYPE)) {
                                    fieldType = Boolean.class;
                                } else if (fieldType.equals(Short.TYPE)) {
                                    fieldType = Short.class;
                                } else if (fieldType.equals(Long.TYPE)) {
                                    fieldType = Long.class;
                                } else if(fieldType.equals(String.class)){
                                    fieldType = String.class;
                                }else if(fieldType.equals(Collection.class)){
                                    fieldType = Collection.class;
                                }
                                m.invoke(obj, fieldType.cast(document.getFieldValue(fieldName)));
                            }
                        }
                        
                    }
                    return clzz.cast(obj);
                } catch (ClassCastException e) {
    		// 请检查schema.xml中的各个field的数据类型与PO类的是否一致
                    e.printStackTrace();
                } catch (SecurityException e) {
                    e.printStackTrace();
                } catch (NoSuchMethodException e) {
    		//请检查PO类中的field对应的各个setter和getter是否存在
                    e.printStackTrace();
                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                } catch (InvocationTargetException e) {
                    e.printStackTrace();
                } catch (InstantiationException e) {
                    e.printStackTrace();
                } catch (NoSuchFieldException e) {
    		//请检查schema中的field是否不存在于PO类中
                    e.printStackTrace();
                }
            }
            return null;
        }
    //动态构造getXxx setXxx
    public static String dynamicMethodName(String name, String setOrGet){
             String setMethodName = setOrGet  
                     + name.substring(0, 1).toUpperCase()   
                     + name.substring(1);   
    		return setMethodName;
        }
    
    

    展开全文
  • C#下支持一行代码将实体类转换为JSON字符串,https://blog.csdn.net/simoral/article/details/80625654
  • 实体类转换Map Map转换实体类

    千次阅读 2018-04-23 14:10:43
    public class JavaBeanUtil { private static Logger logger = LoggerFactory.getLogger(JavaBeanUtil.class); /** * 实体类转map * @param obj * @return */ public static Map&lt;String, Ob...
    1. public class JavaBeanUtil {
    2.     private static Logger logger = LoggerFactory.getLogger(JavaBeanUtil.class);


    3.     /**
    4.      * 实体类转map
    5.      * @param obj
    6.      * @return
    7.      */
    8.     public static Map<String, Object> convertBeanToMap(Object obj) {
    9.         if (obj == null) {
    10.             return null;
    11.         }
    12.         Map<String, Object> map = new HashMap<String, Object>();
    13.         try {
    14.             BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
    15.             PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    16.             for (PropertyDescriptor property : propertyDescriptors) {
    17.                 String key = property.getName();
    18.                 // 过滤class属性
    19.                 if (!key.equals("class")) {
    20.                     // 得到property对应的getter方法
    21.                     Method getter = property.getReadMethod();
    22.                     Object value = getter.invoke(obj);
    23.                     if(null==value){
    24.                         map.put(key,"");
    25.                     }else{
    26.                         map.put(key,value);
    27.                     }
    28.                 }


    29.             }
    30.         } catch (Exception e) {
    31.             logger.error("convertBean2Map Error {}" ,e);
    32.         }
    33.         return map;
    34.     }


    35.     /**
    36.      * map 转实体类
    37.      * @param clazz
    38.      * @param map
    39.      * @param <T>
    40.      * @return
    41.      */
    42.     public static <T> T convertMapToBean(Class<T> clazz, Map<String,Object> map) {
    43.         T obj = null;
    44.         try {
    45.             BeanInfo beanInfo = Introspector.getBeanInfo(clazz);
    46.             obj = clazz.newInstance(); // 创建 JavaBean 对象


    47.             // 给 JavaBean 对象的属性赋值
    48.             PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    49.             for (int i = 0; i < propertyDescriptors.length; i++) {
    50.                 PropertyDescriptor descriptor = propertyDescriptors[i];
    51.                 String propertyName = descriptor.getName();
    52.                 if (map.containsKey(propertyName)) {
    53.                     // 下面一句可以 try 起来,这样当一个属性赋值失败的时候就不会影响其他属性赋值。
    54.                     Object value = map.get(propertyName);
    55.                     if ("".equals(value)) {
    56.                         value = null;
    57.                     }
    58.                     Object[] args = new Object[1];
    59.                     args[0] = value;
    60.                     descriptor.getWriteMethod().invoke(obj, args);


    61.                 }
    62.             }
    63.         } catch (IllegalAccessException e) {
    64.             logger.error("convertMapToBean 实例化JavaBean失败 Error{}" ,e);
    65.         } catch (IntrospectionException e) {
    66.             logger.error("convertMapToBean 分析类属性失败 Error{}" ,e);
    67.         } catch (IllegalArgumentException e) {
    68.             logger.error("convertMapToBean 映射错误 Error{}" ,e);
    69.         } catch (InstantiationException e) {
    70.             logger.error("convertMapToBean 实例化 JavaBean 失败 Error{}" ,e);
    71.         }catch (InvocationTargetException e){
    72.             logger.error("convertMapToBean字段映射失败 Error{}" ,e);
    73.         }catch (Exception e){
    74.             logger.error("convertMapToBean Error{}" ,e);
    75.         }
    76.         return (T) obj;
    77.     }


    78. }
    展开全文
  • xml与实体类转换工具

    2020-09-28 14:14:31
    XML与实体类的相互转换工具,util是工具类,MyTest包含实体类转xml字符串以及XML字符串转实体类的方法,需要引入外部依赖或jar包,亲测可用
  • /// /// 实体类转换成DataTable /// /// 实体类列表 /// public DataTable FillDataTable(List modelList) { if (modelList == null || modelList.Count == 0)


            /// <summary>
            /// 实体类转换成DataTable
            /// </summary>
            /// <param name="modelList">实体类列表</param>
            /// <returns></returns>
            public DataTable FillDataTable(List<ProductImageInfo> modelList)
            {
                if (modelList == null || modelList.Count == 0)
                {
                    return null;
                }
                DataTable dt = CreateData(modelList[0]);
    
                foreach (ProductImageInfo model in modelList)
                {
                    DataRow dataRow = dt.NewRow();
                    foreach (PropertyInfo propertyInfo in typeof(ProductImageInfo).GetProperties())
                    {
                        dataRow[propertyInfo.Name] = propertyInfo.GetValue(model, null);
                    }
                    dt.Rows.Add(dataRow);
                }
                return dt;
            }
    
            /// <summary>
            /// 根据实体类得到表结构
            /// </summary>
            /// <param name="model">实体类</param>
            /// <returns></returns>
            private DataTable CreateData(ProductImageInfo model)
            {
                DataTable dataTable = new DataTable(typeof(ProductImageInfo).Name);
                foreach (PropertyInfo propertyInfo in typeof(ProductImageInfo).GetProperties())
                {
                    dataTable.Columns.Add(new DataColumn(propertyInfo.Name, propertyInfo.PropertyType));
                }
                return dataTable;
            }


    展开全文
  • 定义PreferredMapper实体类转换时引用PreferredMapper转换效果 转换后会在节点前添加自定义字符串
  • sqlserver数据库中的表通过hibernate反射生成的的实体类, 通过代码生成oracle数据库的表
  • "转换为teacher实体类==========" + user . toString ( ) ) ; //Java对象转换成JSON字符串 response . getWriter ( ) . write ( JSONObject . toJSONString ( user ) ) ; } } JSP代码 < % @ ...
  •  * 实体类转map  * @param obj  * @return  */  public static Map, Object> convertBeanToMap(Object obj) {  if (obj == null) {  return null;  }  Map, Object> map = new HashMap, Object>();  try {...
  • 在springboot中发起post请求时,需要参数集合,一般参数为我们的实体类中的属性,可以简化业务代码,不用一个一个传参数
  • JSON使用阿里的fastJson为依赖包 gradle依赖管理如下: ...1、String转JSONObject 前言:String 是JSONObject格式的字符串 eg: JSONObject jSONObject = JSONObject.parseObject(String); 2、String转JSONArray ...
  • 实体类转换成SQL

    千次阅读 2019-11-01 13:31:24
    当需要把实体类的属性拼接成SQL的时候,可以使用下面的SQL 注意:针对的是属性而不是字段,属性需要加上{get;set;} string columns =string.Join(",", t.GetType().GetProperties().Where(w=>w.CanWrite)....
  • 实体类转换DTO的方式

    千次阅读 2018-08-21 15:36:36
    1.第一种,如果是实体类字段类型都一样,大部分会采用bean拷贝的方式,BeanUtils.copyProperties(obj,obj),单个对象的转换还好,但是List对象就要循环来转换。 2.第二种,要是遇到驼峰类型字段与下划线字段的...
  • import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date;... * 实体类转换Mysql数据库表结构[精简...
  • Xml与实体类转换工具类

    千次阅读 2019-01-30 11:53:40
    * Xml和对象转换工具 * * @author ljz * */ public class XmlUtils { /** * 对象转换为xml字符串 * * @param obj * @return */ public static String toXml(Object obj){ XStream ...
  •  /// 获取将实体类转换为json数据(目的是为了更快在网页上传递数据)   ///    /// <returns></returns>   public string getJsonInfo()   {   UserInfo userInfo = new ...
  • java xml与实体类转换

    千次阅读 2018-01-05 16:07:33
    只能在getter/setter方法上使用@XmlElement和@XmlAttribute注解,否则由java对象生成xml时会报同一个属性在java里存在两次的错误。 同理,如果@XmlAccessorType的访问权限为XmlAccessType.NONE,如果在java的...
  • VO类和实体类转换是我们写业务逻辑代码中很经常用到的东西,最近我们项目组规定统一用mapstruct来做,mapstruct是在程序编译的时候就已经生成了VO类和实体类转换类,这样子就不用在程序运行的时候才去转换,减少...
  • 实体类转换为map

    千次阅读 2018-10-17 16:06:28
    //利用反射 public static Map&lt;String, Object&gt; objectToMap(Object obj) {  Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();  if (obj == null) { ... ...
  • 实体类转换为json时,有时需要保持首字母大写或整个字段大写,而jackson序列化是默认使得首字母小写。 一种实现的方法是使用jackson的注解; 引入注解时注意版本: 1.x annotations are in Java package org....
  • 通过实体类转换JSON

    千次阅读 2018-02-14 22:05:00
    RootEntity ` package com.ithelei; import java.util.List; public class RootEntity { private String errorCode; private String errorMsg; ...
  • java通过反射将实体类转换成HashMap类

    千次阅读 2019-10-24 11:43:01
    //实体类转HashMap-第二种方法-建议 public static HashMap < String , Object > transitionEntitySe ( Object onClass ) { HashMap < String , Object > hashMap = new HashMap < String , Object ...
  • /// 获取将实体类转换为json数据(目的是为了更快在网页上传递数据)     ///      /// <returns></returns>     public   string  getJsonInfo()   {   UserInfo userInfo =  new...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 246,474
精华内容 98,589
关键字:

实体类转换