java 无限级分类_JAVA+Hibernate 无限级分类

JAVA+Hibernate 无限级分类

2021-01-23 16:06:585

数据库结构:

CreateTABLE`admin_menu`(

`menu_id`int(4)NOTNULLauto_increment,

`menu_name`varchar(50)defaultNULL,

`parent_id`int(4)default'0',

`menu_value`varchar(255)defaultNULL,

`menu_sort`int(4)default'0',

`menu_description`varchar(50)defaultNULL,

`isvalid`tinyint(1)default'0',

PRIMARYKEY(`menu_id`)

)

主要看menu_id和parent_id这两个字段。

Eclipse生成的表持久映射:(说明:自己加level属性,作用:为了记录种类所在深度)

publicclassAdminMenuimplementsjava.io.Serializable{

//Fields

privateIntegermenuId;

privateStringmenuName;

privateIntegerparentId;

privateStringmenuValue;

privateIntegermenuSort;

privateStringmenuDescription;

privateShortisvalid;

privateintlevel;

//Constructors

/**defaultconstructor*/

publicAdminMenu(){

}

/**minimalconstructor*/

publicAdminMenu(IntegermenuId){

this.menuId=menuId;

}

/**fullconstructor*/

publicAdminMenu(IntegermenuId,StringmenuName,IntegerparentId,StringmenuValue,IntegermenuSort,StringmenuDescription,Shortisvalid){

this.menuId=menuId;

this.menuName=menuName;

this.parentId=parentId;

this.menuValue=menuValue;

this.menuSort=menuSort;

this.menuDescription=menuDescription;

this.isvalid=isvalid;

}

//Propertyaccessors

publicIntegergetMenuId(){

returnthis.menuId;

}

publicvoidsetMenuId(IntegermenuId){

this.menuId=menuId;

}

publicStringgetMenuName(){

returnthis.menuName;

}

publicvoidsetMenuName(StringmenuName){

this.menuName=menuName;

}

publicIntegergetParentId(){

returnthis.parentId;

}

publicvoidsetParentId(IntegerparentId){

this.parentId=parentId;

}

publicStringgetMenuValue(){

returnthis.menuValue;

}

publicvoidsetMenuValue(StringmenuValue){

this.menuValue=menuValue;

}

publicIntegergetMenuSort(){

returnthis.menuSort;

}

publicvoidsetMenuSort(IntegermenuSort){

this.menuSort=menuSort;

}

publicStringgetMenuDescription(){

returnthis.menuDescription;

}

publicvoidsetMenuDescription(StringmenuDescription){

this.menuDescription=menuDescription;

}

publicShortgetIsvalid(){

returnthis.isvalid;

}

publicvoidsetIsvalid(Shortisvalid){

this.isvalid=isvalid;

}

publicintgetLevel()

{

returnlevel;

}

publicvoidsetLevel(intlevel)

{

this.level=level;

}

}

/**

*查询管理员菜单

*

*@return

*/

publicstaticAdminMenu[]selectAdminMenu(Stringcondition)

{

AdminMenu[]adminMenu=null;

Stringhql="fromAdminMenuasam"+condition;

Listlist=select(hql);

Object[]o=list.toArray();

if(o!=null)

{

adminMenu=newAdminMenu[o.length];

for(inti=0;i

{

adminMenu[i]=(AdminMenu)o[i];

}

}

returnadminMenu;

}

/**

*树的生成(主要用数组进行递归)

*

*@return

*/

publicstaticArrayListgetTree(AdminMenu[]menu,intparentId,intlevel,ArrayListlist)

{

for(inti=0;i

{

if(menu[i].getParentId().intValue()==parentId)

{

menu[i].setLevel(level);

list.add(menu[i]);

getTree(menu,menu[i].getMenuId(),level+1,list);

}

}

returnlist;

}

点击这里复制本文地址

以上内容由聚米学院网友整理呈现,如对侵犯您的权益,请联系邮箱:fzsbm@qq.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值