資料庫組織樹結構設計
java實現代碼,拼接xml組織樹
public String loadAreaTree() {StringBuffer areaTreeStr = new StringBuffer();areaTreeStr.append("<>");//查詢出第一級地區 所有的國家List<Area> countryList = hibernateTemplate.getSessionFactory().openSession().createQuery("from Area p where p.parentAreaNo = '#' and p.isVisible ='true' order by p.leafNo").list();if(countryList != null && countryList.size() > 0){for (Area countryArea : countryList) {areaTreeStr.append("<country areaName=\""+countryArea.getAreaName()+"\" urls=\""+countryArea.getUrls()+"\">");//查詢出第二級地區 所有的省份(該國家下)List<Area> provinceAreaList = hibernateTemplate.getSessionFactory().openSession().createQuery("from Area p where p.parentAreaNo =:countryAreaNo and p.isVisible ='true' order by p.leafNo").setString("countryAreaNo", countryArea.getAreaNO().toString()).list();if(provinceAreaList != null && provinceAreaList.size() > 0){for (Area provinceArea : provinceAreaList) {areaTreeStr.append("<province areaName=\""+provinceArea.getAreaName()+"\" urls=\""+provinceArea.getUrls()+"\">");//查詢出第三級地區 所有的城市(該省份下)List<Area> cityAreaList = hibernateTemplate.getSessionFactory().openSession().createQuery("from Area p where p.parentAreaNo =:provinceAreaNo and p.isVisible ='true' order by p.leafNo").setString("provinceAreaNo", provinceArea.getAreaNO().toString()).list();if(cityAreaList != null && cityAreaList.size() > 0){for (Area cityArea : cityAreaList) {areaTreeStr.append("<city areaName=\""+cityArea.getAreaName()+"\" urls=\""+cityArea.getUrls()+"\"></city>");}}areaTreeStr.append("</province>");}}areaTreeStr.append("</country>");}return areaTreeStr.append("</>").toString();}else{return "";}}
介面展現
點擊菜單 會連結到指定 urls