JAVA程序实例:JAVA+Hibernate无限级分类
Vivian 2018-06-14 来源 : 阅读 679 评论 0

摘要:本文主要向大家介绍了JAVA程序实例的JAVA+Hibernate无限级分类,通过具体的代码向大家展示,希望对大家学习JAVA程序实例有所帮助。

本文主要向大家介绍了JAVA程序实例的JAVA+Hibernate无限级分类,通过具体的代码向大家展示,希望对大家学习JAVA程序实例有所帮助。

数据库结构: 

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`) 
)



主要看menu_id和parent_id这两个字段。 
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; 
}

以上就是职坐标整理发布关于JAVA的介绍,先祝大家应该对它有了一定的了解吧,希望这篇文章对大家有一定的帮助!

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程