BeanConvertUtil.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.java110.common.util;
  2. import org.apache.commons.beanutils.BeanUtils;
  3. import org.apache.commons.beanutils.PropertyUtils;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import java.util.Map;
  7. /**
  8. * @ClassName BeanConvertUtil
  9. * @Description bean 转化工具类
  10. * @Author wuxw
  11. * @Date 2019/4/24 12:53
  12. * @Version 1.0
  13. * add by wuxw 2019/4/24
  14. **/
  15. public final class BeanConvertUtil {
  16. private BeanConvertUtil() {
  17. }
  18. /**
  19. * 对象A转为对象B
  20. * 这个也支持map转bean
  21. *
  22. * @param orgBean 原始对象
  23. * @param dstBean 目标对象类
  24. * @param <T1> 原始对象
  25. * @param <T2> 目标对象
  26. * @return 目标对象
  27. */
  28. public static <T1, T2> T2 covertBean(T1 orgBean, T2 dstBean) {
  29. try {
  30. BeanUtils.copyProperties(dstBean, orgBean);
  31. } catch (Exception e) {
  32. throw new RuntimeException("bean转换bean失败", e);
  33. }
  34. return dstBean;
  35. }
  36. /**
  37. * 对象A转为对象B (类)
  38. * 这个也支持map转bean
  39. *
  40. * @param orgBean 原始对象
  41. * @param t 目标对象类
  42. * @param <T1> 原始对象
  43. * @param <T2> 目标对象
  44. * @return 目标对象
  45. */
  46. public static <T1, T2> T2 covertBean(T1 orgBean, Class<T2> t) {
  47. T2 returnModel = null;
  48. try {
  49. returnModel = t.newInstance();
  50. BeanUtils.copyProperties(returnModel, orgBean);
  51. } catch (Exception e) {
  52. e.printStackTrace();
  53. throw new RuntimeException("bean转换bean失败", e);
  54. }
  55. return returnModel;
  56. }
  57. /**
  58. * 对象A集合转为对象B集合
  59. *
  60. * @param orgBeans 原始对象列表
  61. * @param t 目标对象类
  62. * @param <T1> 原始对象
  63. * @param <T2> 目标对象
  64. * @return 目标对象
  65. */
  66. public static <T1, T2> List<T2> covertBeanList(List<T1> orgBeans, Class<T2> t) {
  67. List<T2> newBeanList = new ArrayList<T2>();
  68. for (T1 orgbean : orgBeans) {
  69. T2 newBean = covertBean(orgbean, t);
  70. newBeanList.add(newBean);
  71. }
  72. return newBeanList;
  73. }
  74. /**
  75. * bean转换为map对象
  76. *
  77. * @param orgBean 原始bean
  78. * @return map对象
  79. */
  80. public static Map beanCovertMap(Object orgBean) {
  81. Map newMap = null;
  82. try {
  83. newMap = PropertyUtils.describe(orgBean);
  84. } catch (Exception e) {
  85. throw new RuntimeException("bean转换Map失败", e);
  86. }
  87. return newMap;
  88. }
  89. /**
  90. * bean集合转换为map对象集合
  91. *
  92. * @param orgBeans 原始bean 列表
  93. * @return map对象 列表
  94. */
  95. public static List<Map<String, Object>> beanCovertMapList(List<Object> orgBeans) {
  96. List<Map<String, Object>> newMaps = new ArrayList<Map<String, Object>>();
  97. Map<String, Object> newMap = null;
  98. for (Object orgbean : orgBeans) {
  99. newMap = beanCovertMap(orgbean);
  100. newMaps.add(newMap);
  101. }
  102. return newMaps;
  103. }
  104. }