如何从任何java结构中的SQL表中一次性检索分层项以进行比较?
我想从SQL表中读取分层方式的项。e、 g.我的表具有父子关系。 以下是我的表格结构:如何从任何java结构中的SQL表中一次性检索分层项以进行比较?,java,mysql,structure,parent-child,hierarchy,Java,Mysql,Structure,Parent Child,Hierarchy,我想从SQL表中读取分层方式的项。e、 g.我的表具有父子关系。 以下是我的表格结构: id name parentId 1 abc null 2 xyz 1 3 lmn 1 4 qwe null 5 asd 4 所以我想一次加载所有的项目,我该怎么做呢? 我试过HashMap,但感觉很复杂。。。。 提前感谢…您可以通过一个SQL查询检索整个层次结构,但查询取决于数据库
id name parentId
1 abc null
2 xyz 1
3 lmn 1
4 qwe null
5 asd 4
所以我想一次加载所有的项目,我该怎么做呢?
我试过HashMap,但感觉很复杂。。。。
提前感谢…您可以通过一个SQL查询检索整个层次结构,但查询取决于数据库系统-例如,Oracle支持层次结构查询的“连接方式”查询。MySQL不直接支持这一点,但在中介绍了一些非常好的方法。我建议你试试这些。基本的方法是创建一个函数来模仿connectby 首先,从您的问题来看,不清楚您是否需要SQL方面或java数据结构方面的帮助 我假设两者都需要,即您需要从数据库获取数据,然后填充到适当的java数据结构中 所以没有直接的方法。您的数据主要是树结构,所以主要需要关注树的java数据结构。下面是您需要采取的步骤 1) 首先为树结构创建java类结构。请参阅下面的链接 2) 如果您最终需要java对象,那么您不需要从sql方面获得太多东西。所以您可以执行简单的选择查询来获取数据
3) 现在,您需要有一个助手方法来使用步骤1中的类结构为您的数据准备树。如果您做得更好,可以使用SQL数据使树类结构自构造。您应该阅读有关自联接的内容