分享一个map跟javabean转换的方法
来源:互联网 发布:vmware mac 破解版 编辑:程序博客网 时间:2024/06/02 03:32
mybatis查询返回的一般都是resultType="map".(相信应该不会有多少人专门去写一个resultMap). 所以查询结果一般都是List<Map<String,Object>> 的类型.
用mapListToBeanList可将查询结果直接转换成List<javaBean>的形式:用到的jar为Fastjson.jar
下载地址为:http://repo1.maven.org/maven2/com/alibaba/fastjson/
API:http://www.w3cschool.cn/fastjson/fastjson-quickstart.html
需要注意的是:定义的javaBean需要有一个无参的构造函数
/** * @tips 将List<Map>转化为实体List(复杂类型) */public static <T> List<T> mapListToBeanList(List<Map<String, Object>> listMap, Class<T> clazz) {if (listMap != null && listMap.size() > 0) {String jsonStr = JSON.toJSONString(listMap);//System.out.println(jsonStr);return JSON.parseArray(jsonStr, clazz);}return null;}
而select中的parameterType一般都是map,从前台接收的参数通常会是一个JavaBean.用下面方法即可将接收到的JavaBean参数直接转换成map
public static Map<String, Object> beanToMap(Object obj) {Map<String, Object> map = new HashMap<String, Object>();try {if (obj != null) {BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();for (PropertyDescriptor property : propertyDescriptors) {String key = property.getName();// 过滤class属性if (!key.equals("class")) {// 得到property对应的getter方法Method getter = property.getReadMethod();Object value = getter.invoke(obj);map.put(key, value);}}}return map;} catch (Exception e) {e.printStackTrace();return null;}}
0 0
- 分享一个map跟javabean转换的方法
- Map转换为JAVABean的方法
- Map转换为JAVABean的方法
- Map、JavaBean、JSON的相互转换
- JavaBean与Map的相互转换
- Map与JavaBean之间的转换
- JavaBean转换为Map
- 分享一个好用的日期类型跟long转换工具
- Map和javaBean相互转换
- 一种Map与JavaBean可配置转换的实现
- Java中Map与JavaBean相互转换的工具
- json和map以及javabean之间的转换
- Map 与 JavaBean 之间转换的三种方式
- xStream之xml json javabean map的转换
- javabean、xml、json、map之间的相互转换
- 一个单词转换的map
- javabean/List<javabean>与map/List<map>互相转换
- javabean实体类对象转为Map类型对象的方法
- mysql的优化
- Ubuntu搭建samba共享服务器
- 思科模拟器:搭建WEB环境
- CSS2的无序列表
- ios-支付宝支付sdk使用注意事项
- 分享一个map跟javabean转换的方法
- linux(ubuntu)VPN配置
- 从实际项目中总结出的20条数据库操作优化经验
- 62. Unique Paths
- MyEclispe我的常用操作---持续更新。
- 矩阵中的“二分查找”
- iOS学习笔记-035.数据的读取——系统偏好的写入和读取
- 3.转换成BCNF的保持无损连接的分解
- 关于Java封装、继承、多态的生动例子——咖喱块