?数据库中有一张菜单表,要形成如上面所示的目录树的结构,该怎么办呢?
?
主要是一个迭代,代码如下:
?
/************
* 获得菜单项迭代集合
* @param pid ? ? ? ? ? ? ? ? ? ? ? 某个菜单项的父节点nodekey
* @return List<TMenuset> ? ? ? ? ? 迭代后的菜单目录树集合
*/
public List<TMenuset> getMenuList(String pid) {
// TODO Auto-generated method stub
? ? ? ? List<TMenuset> listAll = new ArrayList<TMenuset>();
String sql = "select id,nodekey,nodename,nodetype from t_menuset ?where pid = ? and enable = 1 order by orderid";
List<TMenuset> list = this.baseDao.getSimpleJdbcTemplate()
? ? ? ? ? ? ? ? ? ? ?.query(sql, BeanPropertyRowMapper.newInstance(TMenuset.class), pid);
for (TMenuset node : list) {
//迭代
node.setChildren(this.getMenuList(node.getNodekey()));
listAll.add(node);
}
return listAll;
}
?