List<dto> 转List<map>
/**
* list<DTO> 转 list<Map<String,Object>>
*
* @param list
* @param <T>
* @return
*/
public static <T> List<Map<String, Object>> listConvert(List<T> list) {
List<Map<String, Object>> list_map = new ArrayList<Map<String, Object>>(); // 定义List<Map<String, Object>>数组<br> // list为外部传进来的list集合
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item ->{// PropertyUtils.describe(Object)转换
Map<String, Object> map = null;
try {
map = (Map<String, Object>) PropertyUtils.describe(item);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
list_map.add(map ); });
}
return list_map;
}
list<map> 转 list<dto> 使用使用alibaba json
引入依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.37</version>
</dependency>
List<Map<String,Object>> = new ArrayList<>; List<InventoryNeedWeiDto> needDtos = JSON.parseArray(JSON.toJSONString(list), InventoryNeedWeiDto.class);
list对象 转另一个list对象
<dependency>
<groupId>ma.glasnost.orika</groupId>
<artifactId>orika-core</artifactId>
</dependency>
package com.liby.inventory.common.utils; import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.MapperFactory;
import ma.glasnost.orika.impl.DefaultMapperFactory;
import ma.glasnost.orika.metadata.Type;
import java.util.List;
public abstract class BeanMapperUtils { private static MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build(); public static <S,D> D map(S source,Class<D> clazz){
MapperFacade mapper = mapperFactory.getMapperFacade();
return mapper.map(source, clazz);
} public static <S,D> void map(S source,D d){
MapperFacade mapper = mapperFactory.getMapperFacade();
mapper.map(source,d);
} public static <S, D> D map(S s, Type<S> sType, Type<D> dType){
MapperFacade mapper = mapperFactory.getMapperFacade();
return mapper.map(s, sType, dType);
} public static <S,D> List<D> mapAsList(List<S> source, Class<D> clazz){
MapperFacade mapper = mapperFactory.getMapperFacade();
return mapper.mapAsList(source, clazz);
} }
BeanMapperUtils.mapAsList(S source,Class clazz);
source: 源对象 D:目标对象
对象转另一个对象
BeanMapperUtils.map(S source,Class clazz) source: 源对象 D:目标对象
List<dto> 转List<map>的更多相关文章
- 构建自己的PHP框架--实现Model类(1)
在之前的博客中,我们定义了ORM的接口,以及决定了使用PDO去实现.最后我们提到会有一个Model类实现ModelInterface接口. 现在我们来实现这个接口,如下: <?php names ...
- 10、ASP.NET MVC入门到精通——Model(模型)和验证
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 模型就是处理业务,想要保存.创建.更新.删除的对象. 注解(通过特性实现) DisplayName Required StringLengt ...
- Asp.Net MVC<七>:Model
Model 指ViewModel ,其作用: 用于目标Action的参数绑定 用于View呈现 Model元数据则是对ViewModel数据类型的描述,其作用在于控制作为Model的数据对象在View ...
- 提高生产性工具 - Model代码生成器(NET / JAVA) (一)
原来在上一家公司,整整一年都在做工具,提高生产性,那个项目特别巨大,所以总共为老东家节约了500K左右的美金. (除了表扬之外,我个人什么好处都没有,领导们都升官发财了,郁闷) 到了新公司,也准备开发 ...
- List<T>与Dictionary<string,T>频繁检索的性能差距
一直对LINQ简洁高效的语法青睐有加,对于经常和资料库,SQL语法打交道的C#开发者来说,LINQ无疑是一个非常不错的选择,当要在List<T>(T为一个普通对象)集合中查找满足某些条件的 ...
- 领域对象模型(domain object model)
在Play程序中,模型(model)占据了核心地位.它是程序操作的信息的特定领域的表现方式. Martin Fowler这样定义模型: 负责表达业务概念,业务状态信息以及业务规则.尽管保存业务状态的技 ...
- ASP.NET MVC 学习7、为Model Class的字段添加验证属性(validation attribuate)
Adding Validation to the Model ,在Model中添加数据验证 参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-star ...
- 懒人小工具:自动生成Model,Insert,Select,Delete以及导出Excel的方法
在开发的过程中,我们为了节约时间,往往会将大量重复机械的代码封装,考虑代码的复用性,这样我们可以节约很多时间来做别的事情.最近跳槽到一节webform开发的公司,主要是开发自己公司用的ERP.开始因为 ...
- JFinal极速开发框架使用笔记(三) 分析Model和ActiveRecord
JFinal框架的一些新发现的用法: 在JFinal框架中,实体类并不需要设置属性,更不需要配置getset方法就可以很方便的操作数据库,如果需要设置或者获取属性,可以直接使用一下方式: User u ...
- SpringMVC归纳-1(model数据模型与重定向传参技术)
要点: model是一个Map结构的数据模型,能重定向时传递数据(拼接URL),但不安全,主要用于渲染前端页面,配合Thymeleaf填充html里面里设置好的参数. @RequestParam用来获 ...
随机推荐
- C语言printf输出32位十六进制
long c = 0X1DAB83; //十六进制数字 printf("c=%lx\n", c); //以十六进制形式输出(字母小写) printf("c=%lX\n&q ...
- CF1033E 题解
题意 传送门 交互题,给定一个简单连通图,你可以询问一个点集 \(s\),返回其导出子图的边数.判断此图是否为二分图:若是,输出其中一部点的集合:否则输出任一个奇环.最多询问 \(20000\) 次. ...
- ArrayList集合的方法
ArrayList元素的增加.插入.删除.清空.排序.反转 using System; using System.Collections; using System.Collections.Gener ...
- vue remark重置 提交
html: <el-table-column prop="remark" label=""> <templat ...
- SQL SERVER 多表联合修改
sql server中有时候会用到多表联合修改,下面是简单的多表修改的例子 UPDATE a SET a.a1 = b.b1 , a.a2 = b.b2 FROM A a, B b WHERE a.a ...
- 转载:java中DAO层、Service层、Control层的说明
转自:https://blog.csdn.net/qq_22771739/article/details/82344336?utm_source=blogxgwz6 DAO层:DAO层叫数据访问层,全 ...
- vue3使用swiper 完整步骤
注意: 使用之前请确定使用的swiper版本,避免走一些不必要的弯路(笔者踩过来的)本文采用的是vue3.0.swiper^8.1.0. 1.安装依赖 npm install swiper 2.vue ...
- git 代码已经commit ,发现提错了分支
步骤: git reset HEAD^ //把上次提交恢复为未提交状态 git status //查看当前状态 git stash //将修改add到暂存区,暂存代码 git checkout 分支 ...
- react对于setState的写法
react对于setState的写法,改变state的数组里边的值也可以这样写 [1,2,3,4,5].forEach((item)=>{ let arr={} arr[`list${item} ...
- shell_Day01
1.判断/etc/inittab文件是否大于100行,如果大于,则显示"/etc/inittab is a big file."否者显示"/etc/inittab is ...