我想从层次结构方式中读取SQL表中的项目。例如我的桌子有亲子关系。以下是我的表结构:
id name parentId
1 abc null
2 xyz 1
3 lmn 1
4 qwe null
5 asd 4
所以我想一次地加载所有项目,我该怎么做?我尝试了哈希图,但感觉很复杂。预先感谢...
您可以通过一个SQL查询检索整个层次结构,但是查询取决于数据库系统 - 例如,Oracle支持"通过"查询层次结构查询的"连接"。MySQL不直接支持这一点 - 但是在MySQL 中的 Hierachical查询中解释了一些非常好的方法。我建议您尝试其中之一。基本方法是创建一个模仿连接的函数。
首先,构成您的问题,尚不清楚您在SQL侧或Java数据结构方面是否需要帮助。
我假设两个都需要从数据库中获取数据&然后填充适当的Java数据结构。
因此,没有直接的方法。您的数据主要是树结构,因此您主要需要专注于树的Java数据结构。因此,以下是您需要采取的步骤。
1)首先为树结构创建Java类结构。请参阅下面的链接。
Java树数据结构?
http://www.java2s.com/code/java/collections-data-screnture/yourowntreewithgenericuserobject.htm
http://www.codeproject.com/articles/14799/populating-a-treeview-control-from-from-the-database
2)那么,如果您最终需要Java对象,则不需要SQL侧。因此,您可以进行简单的选择查询以获取数据。
3)现在,您需要使用一种辅助方法来使用类结构表1步。/div>