java中如何查询下面树中的的所有用户?只知道根部门的ID,如何遍历所有用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何查询下面树中的的所有用户?只知道根部门的ID,如何遍历所有用户相关的知识,希望对你有一定的参考价值。

子部门下可能会有用户

,如市气象局下没有部门 直接有用户 这样的应该如何遍历 所有用户

参考技术A 直接用递归 先根据你的根ID来select出你需要的东西 然后继续调用查出来的数据做为条件去查询下面的数据就可以了啊 可以一直循环下去追问

能写一点简单的代码吗

本回答被提问者采纳
参考技术B         public void getChild(String ID)
List nodes=getNodesById(ID);
for(i=0i;i<nodes.length;i++)
getChild(nodes[i].id);//自己调用自己,递归

参考技术C 先在数据库中查出市气象局有多少人,再去查询三追问

能写一点简单的代码吗

参考技术D 用递归啊 怎么遍历出的第一个的 在接着调用这个 方法追问

能写一点简单的代码吗

追答

求 num 到 1 的 界乘  最典型的递归

是否可以知道树中的项目何时被重命名?

我正在使用QTreeWidget。我允许用户重命名树中的项目。然而,每当一个项目被重命名时,我必须在后台管理一些东西。所以我需要弄清楚用户何时重命名一个项目。我已经看过插槽“ItemChanged”,但我不知道这个插槽是否仅在重命名项目时使用。

这是我如何将项目设置为可重复的。

default_item->setSelected(true);
default_item->setFlags(default_item->flags() | Qt::ItemIsEditable);
答案

只要项目中任何角色的数据发生变化,就会发出itemChanged信号。这包括当Qt::DisplayRole因用户编辑名称或调用QTreeWidgetItem::setData而更改时。它也会在其他一些情况下发出,例如标志更改时以及启用/禁用项目时。

如果您只想知道名称更改的时间,则可以直接连接到基础模型的dataChanged信号,并检查roles参数以获取Qt::DisplayRole角色。例如:

connect(treeWidget->model(), &QAbstractItemModel::dataChanged,
[](const QModelIndex &index, const QModelIndex &, const QVector<int> &roles) {
  if (roles.contains(Qt::DisplayRole))
    qDebug("Display role changed!");
});

以上是关于java中如何查询下面树中的的所有用户?只知道根部门的ID,如何遍历所有用户的主要内容,如果未能解决你的问题,请参考以下文章

如何获取通用java树中所有祖先的列表

Java中的门面设计模式,非常有用!

只知道某个SQL数据库表的一项内容,如何查询它所在的数据表

如何查询SqlServer和MySql数据库中某个数据库下面所有的视图信息和存储过程的信息,在java中操作

如何查询Oracle中所有用户信息

Oracle数据库中,知道一个值,如何查询它所在的表,是哪个字段?