package cn.ksource.test.test; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; import cn.ksource.core.dao.BaseDao; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"/applicationContext_core.xml"}) @Transactional public class TreeTest { @Autowired private BaseDao baseDao; @Test public void treeTest() { String sql = "SELECT * FROM CMS_CATEGORY WHERE USINGSTATE = 1 ORDER BY LEVEL,ORDERNUM"; List treeList = baseDao.queryForList(sql); List resultList = new ArrayList(); Map yjgnMap = new HashMap(); Map ejgnMap = new HashMap(); for(Map map : treeList) { if(map.get("LEVEL").toString().equals("1")) { yjgnMap.put(map.get("ID").toString(), map); List ejgnList = new LinkedList(); map.put("ejgn", ejgnList); resultList.add(map); continue; } if(map.get("LEVEL").toString().equals("2")) { Map yjgn = yjgnMap.get(map.get("UP_ID").toString()); List ejgn = (List)yjgn.get("ejgn"); List sjgnList = new LinkedList(); map.put("sjgn", sjgnList); ejgn.add(map); ejgnMap.put(map.get("ID").toString(), map); continue; } } System.out.println(resultList); } }