菜单递归调用
来源:互联网 发布:dnf最近老是网络中断 编辑:程序博客网 时间:2024/05/22 19:26
1.数据格式
2.对象模型
public class ItemCat {
//转换成json数据时使用u作为key
@JsonProperty("u")
private String url;
@JsonProperty("n")
private String name;
@JsonProperty("i")
private List<?> item;
}
public class ItemCatResult {
private List<?> data;
public List<?> getData() {
return data;
}
public void setData(List<?>data) {
this.data =data;
}
}
3.service逻辑处理
@Service
public class ItemCatServiceImplimplements ItemCatService {
@Autowired
private TbItemCatMapperitemCatMapper;
@Override
public ItemCatResult queryAllCategory()throws Exception {
ItemCatResult result = new ItemCatResult();
result.setData(getItemCatList(0l));
return result;
}
/**
* 查询分类列表
* <p>Title: getItemCatList</p>
* <p>Description:</p>
* @param parentid
* @return
*/
private List<?> getItemCatList(long parentid) {
TbItemCatExample example = new TbItemCatExample();
Criteria criteria = example.createCriteria();
//查询parentid为0的分类信息
criteria.andParentIdEqualTo(parentid);
List<TbItemCat> list = itemCatMapper.selectByExample(example);
List dataList = new ArrayList();
for (TbItemCat tbItemCat : list) {
//判断是否为父节点
if (tbItemCat.getIsParent()) {
ItemCat itemCat = new ItemCat();
itemCat.setUrl("/category/" +tbItemCat.getId() +".html");
itemCat.setName(tbItemCat.getName());
//递归调用
itemCat.setItem(getItemCatList(tbItemCat.getId()));
//添加到列表
dataList.add(itemCat);
} else {
String catItem = "/item/" + tbItemCat.getId() + ".html|" + tbItemCat.getName();
dataList.add(catItem);
}
}
return dataList;
}
}
注:代码可能对大家帮助不大,因为毕竟数据库设计的不一样,但查询思路差别不大。- 菜单递归调用
- 菜单调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- C图形库easyX的运用
- oracle中行转列的实现
- 统计学习方法笔记,第二章笔记, 感知机
- 怎样将.java文件编译成.exe可运行文件
- 高仿腾讯QQ侧滑删除
- 菜单递归调用
- iOS9.2 univesal link 踩过的坑
- Java中类加载过程
- JavaScript添加数组元素和删除数组元素
- Android的分享操作 一
- PHP数组深入学习
- Mybatis调用数据库的存储过程和方法
- 结构体作为函数参数
- 四元数姿态解算及多传感器融合详细解析