1

这是过去几天我目前遇到的问题。我正在寻找有关如何处理的指导/方法。欢迎提供提示和建议。所以这是问题所在。数据库有一个表“”,它有两列:group_id on parent_group_id.group_id 是表的主键。该表中的所有条目都表示组/子组。如果从前端添加子组,则使用自动生成的 group_id 将条目插入到组表中MySQL 生成的。parent_group_id 对应于添加子组的组的 group_id。所以本质上它就像 group_id 列的外键。我的任务是在 java 中使用组表中的数据。所以这就是我卡住的地方。我知道这将是一个需要编写的递归函数,但无法弄清楚如何动态创建节点并同时从 Db 填充数据。最终 XML 需要作为json数据发送到前端。

一个组可以有 n 个子组,并且层次结构可以继续。例如,车辆是 group_id =1 的根节点。它可以将汽车和自行车作为子组。所以对于汽车和自行车,父组 ID 将为 1,并且组 ID 分别为 2 和 3。

PS:这是我在过去一年中第一次使用这个网站。如果需要更多信息或者你是否能够理解我的问题,请告诉我。

4

2 回答 2

1

如果您将任务分成两部分,它将更易于管理。

以下是有关在关系数据库中查询分层数据的一些有用链接,特别是在 MySQL 中:

在关系数据库中存储分层数据的选项有哪些?

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

http://www.slideshare.net/billkarwin/models-for-hierarchical-data

http://en.wikipedia.org/wiki/Common_table_expressions#Common_table_expression

只要您对查询结果进行了正确排序,就可以递归地遍历它,逐步构建 XML 树。

于 2012-10-22T15:54:13.160 回答
1

能够通过使用递归函数来解决它:)。使用实体类加载所有数据,然后使用递归函数迭代数据以构建树状结构。我没有尝试采用sql方式。

于 2012-10-29T16:37:21.393 回答