데이터베이스 구조:Create TABLE `admin_menu` ( `menu_id` int(4) NOT NULL auto_increment, `menu_name` varchar(50) default NULL, `parent_id` int(4) default '0', `menu_value` varchar(255) default NULL, `menu_sort` int(4) default '0', `menu_description` varchar(50) default NULL, `isvalid` tinyint(1) default '0', PRIMARY KEY (`menu_id`)주로 menuid 와 parentid 이 두 필드.Eclipse 에서 생 성 된 표 의 지속 적 인 맵:(설명:자신 이 level 속성 을 추가 하고 역할:종류 가 있 는 깊이 를 기록 하기 위해)Public class AdminMenu implements java.io.Serializable { // Fields private Integer menuId; private String menuName; private Integer parentId; private String menuValue; private Integer menuSort; private String menuDescription; private Short isvalid; private int level; // Constructors /** default constructor */ public AdminMenu() { } /** minimal constructor */ public AdminMenu(Integer menuId) { this.menuId = menuId; } /** full constructor */ public AdminMenu(Integer menuId, String menuName, Integer parentId, String menuValue, Integer menuSort, String menuDescription, Short isvalid) { this.menuId = menuId; this.menuName = menuName; this.parentId = parentId; this.menuValue = menuValue; this.menuSort = menuSort; this.menuDescription = menuDescription; this.isvalid = isvalid; } // Property accessors public Integer getMenuId() { return this.menuId; } public void setMenuId(Integer menuId) { this.menuId = menuId; } public String getMenuName() { return this.menuName; } public void setMenuName(String menuName) { this.menuName = menuName; } public Integer getParentId() { return this.parentId; } public void setParentId(Integer parentId) { this.parentId = parentId; } public String getMenuValue() { return this.menuValue; } public void setMenuValue(String menuValue) { this.menuValue = menuValue; } public Integer getMenuSort() { return this.menuSort; } public void setMenuSort(Integer menuSort) { this.menuSort = menuSort; } public String getMenuDescription() { return this.menuDescription; } public void setMenuDescription(String menuDescription) { this.menuDescription = menuDescription; } public Short getIsvalid() { return this.isvalid; } public void setIsvalid(Short isvalid) { this.isvalid = isvalid; } public int getLevel() { return level; } public void setLevel(int level) { this.level = level; } } /** * 관리자 메뉴 조회* * @return */ public static AdminMenu[] selectAdminMenu(String condition) { AdminMenu[] adminMenu = null; String hql = "from AdminMenu as am" + condition; List list = select(hql); Object[] o = list.toArray(); if(o != null) { adminMenu = new AdminMenu[o.length]; for(int i = 0; i < o.length; i++) { adminMenu[i] = (AdminMenu)o[i]; } } return adminMenu; } /** * 트 리 생 성(주로 배열 로 재 귀적)* * @return */ public static ArrayList getTree(AdminMenu[] menu, int parentId, int level, ArrayList list) { for(int i = 0; i < menu.length; i++) { if(menu[i].getParentId().intValue() == parentId) { menu[i].setLevel(level); list.add(menu[i]); getTree(menu, menu[i].getMenuId(), level+1, list); } } return list; }
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법
정적 공장 방법
정적 공장 방법의 장점
를 반환할 수 있습니다.
정적 공장 방법의 단점
류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음
여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.