javabean(实体类)转Map类型
javabean(实体类)转Map类型
从网上“風亦飞”的导出EXCEL的源代码提取出来的。认为非常好用。分享一下给大家,主要看beanToMap方法就OK了
/*以下是从poi导出EXCEL的一部分代码,主要将传參数的list转换为map类型,list装载的数据是从数据库取出来的,能够是数组类型,也能够是map类型。也能够是实体类*/
public static TableData createTableData(List list,TableHeaderMetaData headMeta,String[] fields){
TableData td = new TableData(headMeta);
TableDataRow row = null;
if(list != null && list.size()>0){
if(list.get(0).getClass().isArray()){//list为数组类型
for (Object obj : list){
row = new TableDataRow(td);
for(Object o : (Object[])obj){
row.addCell(o);
}
td.addRow(row);
}
}else{//JavaBean或Map类型
for (Object obj : list){
row = new TableDataRow(td);
//推断是//JavaBean(实体类)还是Map类型 。假设是javaBean将调用 obj:beanToMap,转为map类型
Map<String, Object> map = (obj instanceof Map)?
(Map<String, Object>)obj:beanToMap(obj);
for(String key : fields){
row.addCell(map.get(key));
}
td.addRow(row);
}
}
}
return td;
}
//将javabean转为map类型。然后返回一个map类型的值
public static Map<String, Object> beanToMap(Object obj) {
Map<String, Object> params = new HashMap<String, Object>(0);
try {
PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();
PropertyDescriptor[] descriptors = propertyUtilsBean.getPropertyDescriptors(obj);
for (int i = 0; i < descriptors.length; i++) {
String name = descriptors[i].getName();
if (!StringUtils.equals(name, "class")) {
params.put(name, propertyUtilsBean.getNestedProperty(obj, name));
}
}
} catch (Exception e) {
e.printStackTrace();
}
return params;
}
javabean(实体类)转Map类型的更多相关文章
- javabean实体类对象转为Map类型对象的方法(转发)
//将javabean实体类转为map类型,然后返回一个map类型的值 public static Map<String, Object> beanToMap(Object obj) { ...
- java反射遍历实体类属性和类型,并赋值和获取值
/* * GetModelNameAndType.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ packag ...
- java中遍历实体类属性和类型
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...
- java中遍历实体类属性和类型,属性值
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...
- Java 中 Map与JavaBean实体类之间的相互转化
/** * 将一个 JavaBean 对象转化为一个 Map * @param bean 要转化的JavaBean 对象 * @return 转化出来的 Map 对象 * @throws Intr ...
- 数据库字段和实体类和map中对应类型
http://blog.csdn.net/sxe18652071425/article/details/46416217 地址 MySQL数据类型 JAVA数据类型 JDBC TYPE 普通变量类型 ...
- Java实体类的属性类型与数据库表字段类型对应表
原文地址:https://blog.csdn.net/lyhjava/article/details/50562786 Java中的数据类型和SQL中的数据类型有很多不一样,需要仔细区分,不然易在开发 ...
- Android Studio 插件 GsonFormat :你还在烦恼 为 Json格式 生成 JavaBean实体类吗?
在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...
- 关于hibernate的实体类中有集合类型转化成JSON的工具类 - 怀念今天的专栏 - 博客频道
Json 来源:http://blog.csdn.net/zczzsq/article/details/18697045#1536434-hi-1-4387-42d97150898b1af15ddaa ...
- 实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以
通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也 ...
随机推荐
- 安卓出现Invalid layout of java.lang.String at value
Project->Properties->Run/Debug setting->选择类->classpath->删除Bootstrap Entries下面的文件 参考
- CentOS7 install apache
1. yum install httpd 2. config /etc/httpd/conf/httpd.conf <VirtualHost *:80> ServerName www.l ...
- IDEA编译时出现"cannot resolve symbol"的问题时的解决方法。
IDEA编译时出现cannot resolve symbol的报错时,(老表的问题出现在另一台电脑上,所以现在没办法给大家截图报错时的图,今天是周末没用那台电脑,突然想起来就想把它写下来,抱歉抱歉!! ...
- MySQL更改了my.ini的#Path to the database root后,数据还写到原来的文件夹
重新启动数据库 http://www.cnblogs.com/argenbarbie/p/4090494.html
- 【转】json与jsonp区别浅析(json才是目的,jsonp只是手段)
一言以蔽之,json返回的是一串数据:而jsonp返回的是脚本代码(包含一个函数调用): JSON其实就是JavaScript中的一个对象,跟var obj={}在质上完全一样,只是在量上可以无限扩展 ...
- ES 分布式搜索
ES整个查询过程是scatter/gather的过程,具体如下: 图见 https://blog.csdn.net/thomas0yang/article/details/78572596?utm_s ...
- top k
def top_k(arr, left, right, k): if left >= right: return pivot = arr[right] index = left for i in ...
- 桥接、nat、host-only
- Swift网络封装库Moya中文手册之Authentication
Authentication 安全验证可能有点复杂,一些网络请求需要认证,这里我们讨论两种常见的. Basic HTTP Auth HTTP auth是HTTP协议自带的用户名/密码验证.如果你使用的 ...
- mysql 下载和 安装
一.下载mysql 1. 在浏览器里打开mysql的官网http://www.mysql.com/ 2. 进入页面顶部的"Downloads" 3. 打开页面底部的“Communi ...