/*** 根据表名和父id拼装树形JSON数据
*@paramtableName
*@paramparentId
*@return*@throwsException*/@Overridepublic String createTreeJsonBytableNameAndParentId(String tableName,String parentId) throwsException {
Map map = new HashMap();
List> list = new ArrayList>();
String sql= " select * from " + tableName + " where 1 = 1 ";if(StringUtils.isNotEmpty(parentId)) {
sql= sql + " and parent_id = '" + parentId + "'";
}else{
sql= sql + " and parent_id is null";
}
Session session=getSession();
Query query=session.createSQLQuery(sql);//存储过程键值对应
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List> lists =query.list();for (Mapmsp : lists) {
map= new HashMap();
List> list_children = new ArrayList>();
String id= msp.get("id");
map.put("id",msp.get("code"));
map.put("text",msp.get("name"));
list_children=createTreeChildJson(tableName,id);if (list_children.size()>0) {
map.put("state","closed");
map.put("children", list_children);
}
list.add(map);
}
JSONArray arry=JSONArray.fromObject(list);returnarry.toString();
}/*** 根据表名和父id拼装树形LIST数据递归
*@paramtableName
*@paramparentId
*@return*@throwsException*/
private List> createTreeChildJson(String tableName,String parentId) throwsException {
Map map = new HashMap();
List> list = new ArrayList>();
String sql= " select * from " + tableName + " where 1 = 1 ";if(StringUtils.isNotEmpty(parentId)) {
sql= sql + " and parent_id = '" + parentId + "'";
}else{
sql= sql + " and parent_id is null";
}
Session session=getSession();
Query query=session.createSQLQuery(sql);//存储过程键值对应
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List> lists =query.list();for (Mapmsp : lists) {
map= new HashMap();
List> list_children = new ArrayList>();
String id= msp.get("id");
map.put("id",msp.get("code"));
map.put("text",msp.get("name"));
list_children=createTreeChildJson(tableName,id);if (list_children.size()>0) {
map.put("state","closed");
map.put("children", list_children);
}
list.add(map);
}returnlist;
}