递归小demo 树形结构
2014-05-27 10:09
330 查看
private List<CatalogVo> toTree(CatalogVo parent, List<CatalogVo> tempList)
throws Exception {
List<CatalogVo> children = findChildren(parent);
// if (children == null || children.size() == 0) {
// return null;
// }
//
// parent.setChildren(children);
for (CatalogVo chidl : children) {
List<CatalogVo> sonList = new ArrayList<CatalogVo>();
chidl.setChildren(sonList);
// children.addAll(toTree(chidl));
tempList.add(chidl);
toTree(chidl, sonList);
}
//
return tempList;
}
//------------------------
private List<CatalogVo> findChildren(CatalogVo parent) throws Exception {
List<CatalogVo> childrenList = new ArrayList<CatalogVo>();
SqlHelper s = new SqlHelper();
try {
// 顶级的data;
String sql = "select * from t_catalog_data where STATUS=? and PARENT_ID=?";
String[] paras = new String[] { "1", String.valueOf(parent.getId()) };
System.out.println(sql + ":" + parent.getId());
ResultSet rs = s.query(sql, paras);
while (rs.next()) {
CatalogVo nextVo = new CatalogVo();
String catName = rs.getString("CAT_NAME");
Integer id = rs.getInt("ID");
nextVo.setCataName(catName);
nextVo.setId(id);
childrenList.add(nextVo);
}
s.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
return childrenList;
}
throws Exception {
List<CatalogVo> children = findChildren(parent);
// if (children == null || children.size() == 0) {
// return null;
// }
//
// parent.setChildren(children);
for (CatalogVo chidl : children) {
List<CatalogVo> sonList = new ArrayList<CatalogVo>();
chidl.setChildren(sonList);
// children.addAll(toTree(chidl));
tempList.add(chidl);
toTree(chidl, sonList);
}
//
return tempList;
}
//------------------------
private List<CatalogVo> findChildren(CatalogVo parent) throws Exception {
List<CatalogVo> childrenList = new ArrayList<CatalogVo>();
SqlHelper s = new SqlHelper();
try {
// 顶级的data;
String sql = "select * from t_catalog_data where STATUS=? and PARENT_ID=?";
String[] paras = new String[] { "1", String.valueOf(parent.getId()) };
System.out.println(sql + ":" + parent.getId());
ResultSet rs = s.query(sql, paras);
while (rs.next()) {
CatalogVo nextVo = new CatalogVo();
String catName = rs.getString("CAT_NAME");
Integer id = rs.getInt("ID");
nextVo.setCataName(catName);
nextVo.setId(id);
childrenList.add(nextVo);
}
s.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
return childrenList;
}
相关文章推荐
- java学习笔记 使用递归 将文件目录树形结构输出,递归删除目录 文件夹。
- php+mysql网站无限级栏目分类-递归获取树形结构函数
- 递归调用实现目录树形结构
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- 递归调用,遍历CTreeCtrl的树形结构
- java、js中实现无限层级的树形结构(类似递归)
- 递归构造AD组织结构(Organizational Unit)的树形结构
- 递归删除树形结构的所有子节点(java和mysql实现)
- nodejs+express递归实现树形结构demo
- 使用递归和dom遍历dom树形结构
- thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
- JavaScript递归方法 生成 json tree 树形结构数据
- 高性能删除树形结构的空节点(递归遍历树形结构) Delphi
- 一个递归循环 用来加载 easyui 树形结构数据
- java 递归遍历树形结构
- Hibernate注解实现单表递归树形结构
- sqlserver中一个表中树形结构递归数据查询
- 递归树形结构
- Java递归删除树形结构父节点
- java递归组装树形结构