当前位置:网站首页>利用放射get 实体对象属性 记录

利用放射get 实体对象属性 记录

2022-06-09 11:21:00 水脏

利用放射get 实体对象属性 记录

    @PostMapping(value = "/insert")
    public void insert() throws java.lang.NoSuchFieldException{
    

        ADOConnection.runTask(sessionFactory -> {
    
            List<EquipmentBean> equipmentlist = sessionFactory.getMapper(EquipmentBeanMapper.class).queryAll();
            EquipmentBean topnode = sessionFactory.getMapper(EquipmentBeanMapper.class).findOneByParentId("0");

            if (topnode == null) {
    
                return "";
            }

            List<Tree<String>> treeList = TreeUtil.build(equipmentlist, topnode.getId(), new TreeNodeConfig(),
                    (treeNode, node) -> {
    
                        node.setId(treeNode.getId());
                        node.setParentId(treeNode.getParentId());
                        node.setWeight(treeNode.getSort());
                        node.setName(treeNode.getName());

                        Field[] fields = ReflectUtil.getFields(EquipmentBean.class);
                        Class<?> clazz = treeNode.getClass();
                        try {
    
                            // 扩展属性 ...
                            for (Field field : fields) {
    
                                field.setAccessible(true);
                                if (StrUtil.equalsAny(field.getName(), "id", "parentId")) {
    
                                    continue;
                                }
                                clazz.getDeclaredField(field.getName());
                                node.putExtra(field.getName(), field.get(treeNode));
                                System.out.println(field.getName());
                            }
                        } catch (NoSuchFieldException e) {
    
                            e.printStackTrace();
                        } catch (IllegalAccessException e) {
    
                            e.printStackTrace();
                        }
// Map<String, Object> map = BeanUtil.beanToMap(treeNode);
// for (Map.Entry<String, Object> entry : map.entrySet()) {
    
// node.putExtra(entry.getKey() ,entry.getValue());
// }

// // 扩展属性 ...
// node.putExtra("id", treeNode.getId());
// node.putExtra("dispatchNo", treeNode.getDispatchNo());
// node.putExtra("dataFrom", treeNode.getDataFrom());
                    });

            System.out.println(treeList);



            return true;
        }, Boolean.class);


    }

用到依赖

        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.15</version>
        </dependency>
原网站

版权声明
本文为[水脏]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_37749537/article/details/124910852