MYSQL 查询树形结构数据,查询某个节点下的所有子节点数据。
列如有个A表当前节点节点名称上级节点名称字段有:idnamesuper1一级2二级13三级24四级3不固定可能还有更多层。请各位大神写个列子,谢谢大家了!...
列如 有个 A表
当前节点 节点名称 上级节点名称
字段有 : id name super
1 一级
2 二级 1
3 三级 2
4 四级 3
不固定可能还有更多层。
请各位大神写个列子,谢谢大家了! 展开
当前节点 节点名称 上级节点名称
字段有 : id name super
1 一级
2 二级 1
3 三级 2
4 四级 3
不固定可能还有更多层。
请各位大神写个列子,谢谢大家了! 展开
1个回答
展开全部
java版的实际例子。类同你说的情况
private void findChildList(AssetType parent,List<AssetType> list){
String hql = "from AssetType a where a.parentAssetType.assetTypeId=? ORDER BY a.sort,a.assetTypeName asc";
List<AssetType> childList = this.assetTypeDao
.getEntityManager()
.createQuery(hql)
.setParameter(1, parent.getAssetTypeId())
.getResultList();
int size = childList.size();
if(size>0){
for (int i = 0; i < size; i++) {
AssetType assetType = childList.get(i);
List<AssetType> childs = assetType.getChildAssetType();
if(childs.size()>0){
list.addAll(childs);
this.findChildList(assetType, list);//递归查询节点的子节点
}
}
}
}
private void findChildList(AssetType parent,List<AssetType> list){
String hql = "from AssetType a where a.parentAssetType.assetTypeId=? ORDER BY a.sort,a.assetTypeName asc";
List<AssetType> childList = this.assetTypeDao
.getEntityManager()
.createQuery(hql)
.setParameter(1, parent.getAssetTypeId())
.getResultList();
int size = childList.size();
if(size>0){
for (int i = 0; i < size; i++) {
AssetType assetType = childList.get(i);
List<AssetType> childs = assetType.getChildAssetType();
if(childs.size()>0){
list.addAll(childs);
this.findChildList(assetType, list);//递归查询节点的子节点
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询