zoukankan      html  css  js  c++  java
  • mysql 实现 start with

    自己写service----> 传入map(idsql,rssql,prior)   idsql 查询id   rssql 查询结果集    调用 以下方法

    @param ids 要查询的起始 start with
    * @param allres 包含要递归数据的结果集 ( 查询时别名ID PID )
    * @param pos prior---> UP or DOWN
    * @return
    */
    public static List<Map<String, Object>> getTree(ArrayList<String> ids,
    List<Map<String, Object>> allres,String pos) {
    List<Map<String, Object>> res=new ArrayList<Map<String,Object>>();

    if("up".equals(pos)){
    res=toCreatTreeUp(ids,allres,res);
    }
    if("down".equals(pos)){
    res=toCreatTreeDown(ids,allres,res);
    }
    return res;
    }
    private static List<Map<String, Object>> toCreatTreeUp(ArrayList<String> ids,
    List<Map<String, Object>> allres,List<Map<String, Object>> res) {
    ArrayList<String> idss = new ArrayList<String>();
    for(String id :ids){
    for (Map<String, Object> map : allres) {
    if(id.equals(map.get("ID").toString())){
    idss.add(map.get("PID").toString());
    res.add(map);
    }
    }
    }
    if (idss.size()!=0) {
    ids = idss;
    res = toCreatTreeUp(ids,allres,res);
    }
    return res ;
    }
    private static List<Map<String, Object>> toCreatTreeDown(ArrayList<String> ids,
    List<Map<String, Object>> allres,List<Map<String, Object>> res) {
    ArrayList<String> idss = new ArrayList<String>();
    for(String id :ids){
    for (Map<String, Object> map : allres) {
    if(id.equals(map.get("ID").toString())){
    res.add(map);
    }
    if(id.equals(map.get("PID").toString())){
    idss.add(map.get("ID").toString());
    }
    }
    }
    if (idss.size()!=0) {
    ids = idss;
    res = toCreatTreeDown(ids,allres,res);
    }
    return res ;
    }

  • 相关阅读:
    SharePoint Permission Extension
    SharePoint暂时禁用事件触发
    视图xsl定制之嵌入服务器控件
    自定义View字段表头
    自定义母版页之列表过滤菜单位置issue fix
    ListDefinition Tips
    ThinkPHP6安装
    sqlalchemy 执行原生sql语句(转)
    python操作mysql(ORM)(转)
    Python Selenium 测试
  • 原文地址:https://www.cnblogs.com/sx2zx/p/6229260.html
Copyright © 2011-2022 走看看