Map转Bean小工具

public static <T> T converter(Map<String, Object> map, Class<T> clz) {
    T obj = null;
    try {
        obj = clz.newInstance();
        BeanInfo beanInfo = Introspector.getBeanInfo(clz);
        PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
        for (PropertyDescriptor property : propertyDescriptors) {
            String key = property.getName();
            if (map.containsKey(key)) {
                Object value = map.get(key);
                // 得到property对应的setter方法
                Method setter = property.getWriteMethod();
                setter.invoke(obj, value);
            }
        }
    } catch (Exception e) {
        logger.error("map转{}异常", clz.getName(), e);
    }
    return obj;
}

  

public static <T> List<T> converter(List<Map<String, Object>> list, Class<T> clz) {
    List<T> rst = new ArrayList<>();
    for (int i = 0; i < list.size(); i++) {
        rst.add(converter(list.get(i), clz));
    }
    return rst;
}

  

时间: 2024-12-05 16:01:24

Map转Bean小工具的相关文章

网上书城小工具(也适用于其他项目)

工欲善其事,必先利其器.下面我们来介绍一下在项目中要使用的小工具(itcast-tools-1.4.jar).这个小工具底层使用了: · c3p0数据库连接池: · common-beanutils: ·common-dbutils: · javaMail: 1 CommonUtils(通用工具类) CommonUtils类就两个方法: ·String uuid():生成长度32的随机字符,通常用来做实体类的ID.底层使用了UUID类完成: ·T toBean(Map, Class<T>):把

搬单查询小工具总结

搬单查询小工具总结 需求:页面输入团单号,从数据库中查询搬单错误的数据,以excel形式导出. 前端页面放在ts-settle-tools-web项目中,后端查询数据库的部分写在ts-tg-settle中,以API形式提供给ts-settle-tools使用,其实是通过webservice调用的. java public interface TSSettleService {     /**     * 查询搬单错误数据     * @param dealGroupIds     * @retu

三个 DAL 相关的Java代码小工具

最近在做 DAL (Data Access Layer 数据访问层) 的服务化,发现有不少地方是人工编写比较繁琐的,因此写了几个小工具来完成. 1.  从 DAO 类自动生成 CoreService 类, CoreService 直接调用 DAO 类 思路: 通过正则表达式解析方法参数, 使用正则替换及源 DAO 文件来生成 CoreService 源文件. package zzz.study.utils; import cc.lovesq.dao.CreativeDAO; import jav

java 自动生成Bean的工具

import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSetMetaData;import java.sql.SQLException; /** * 数据库表转换成javaBean对象小工具(已用了很长时间), * 1 bean

PHP API接口测试小工具

前端时间给手机客户端做接口,当时弱爆了,写完API接口后,也不怎么测试,最后是等客户端调用的时候检验API的正确性. 后面利用PHP的curl实现Post请求,检验API接口的正确性:配合前面做的一个查看Apache错误日志的小工具,可将将错误一览无余:利用firebug或fiddler可以查看http通讯. 一.功能说明 样式 firebug中的http通信信息 1.client_name.client_version.api_debug和url这几个是每次都需要传的参数,除了url其他3个参

演示JSON-LIB小工具

1 演示JSON-LIB小工具 2 public class Demo1 { 3 /* 4 * 当map来用 5 */ 6 @Test 7 public void fun1() { 8 JSONObject map = new JSONObject(); 9 map.put("name", "zhangSan"); 10 map.put("age", 23); 11 map.put("sex", "male"

小工具:火车票查询

今天又到了抢火车票的时候,反正是每次抢票都是傻眼.于是写个小工具帮助自己查询火车票,如果有票的话给自己发个邮件提示购买. 一.准备工作 利用firebug等工具,我们可以获取到当我们单击查询时调用的Get请求. 请求地址: https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2017-09-01&leftTicketDTO.from_station=TJP&leftTicketDTO.to_station=

spring MVC +freemarker + easyui 实现sql查询和执行小工具总结

项目中,有时候线下不能方便的连接项目中的数据源时刻,大部分的问题定位和处理都会存在难度,有时候,一个小工具就能实时的查询和执行当前对应的数据源的库.下面,就本人在项目中实际开发使用的小工具,实时的介绍开发使用过程.首先看图:大概的操作界面,基本使用easyui组件实现,欢迎大家吐槽: 界面包含了基本的sql查询 和 sql执行的小功能,把查询和执行分开,也是为了后台实现的需要,以及权限控制的考虑,毕竟执行的操作,会影响到系统的数据问题.查询和执行的菜单,是用easyui的手风琴式的菜单处理的.两

Windows平台软件推荐:神器小工具(骨灰级)

底层工具 "If you know how to use Process Monitor competently, people of both sexes will immediately find you more attractive." – Scott Hanselman Ultimate Boot CD 和 Ultimate Boot CD for Windows  – 这些光盘是程序员修电脑时的必备工具,毕竟你可没那么多钱给给每个电脑坏掉的亲戚买新机,不是么? Hiren'