20综合实践多对多映射 管理员角.docx

上传人:b****8 文档编号:11039029 上传时间:2023-02-24 格式:DOCX 页数:15 大小:316.66KB
下载 相关 举报
20综合实践多对多映射 管理员角.docx_第1页
第1页 / 共15页
20综合实践多对多映射 管理员角.docx_第2页
第2页 / 共15页
20综合实践多对多映射 管理员角.docx_第3页
第3页 / 共15页
20综合实践多对多映射 管理员角.docx_第4页
第4页 / 共15页
20综合实践多对多映射 管理员角.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

20综合实践多对多映射 管理员角.docx

《20综合实践多对多映射 管理员角.docx》由会员分享,可在线阅读,更多相关《20综合实践多对多映射 管理员角.docx(15页珍藏版)》请在冰豆网上搜索。

20综合实践多对多映射 管理员角.docx

20综合实践多对多映射管理员角

1、综合案例:

多对多映射

2、具体内容

提示:

用户只写核心信息即可,例如:

编号、姓名,权限只写编号、名称即可。

其他的表都要写。

开发要求:

1、将数据还原为简单的java类。

2、数据的输出:

|-可以根据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详解;

|-一个权限可以输出具备此权限的角色,以及具备此角色的所有管理员,同时输出权限所有权限详解:

|-一个角色可以输出它所包含的管理员,每个管理员对应的具体的权限,以及权限详情。

第一步:

数据表转换为简单java类。

classUser

{

privateStringuserid;

privateStringname;

privateStringpassword;

publicUser(Stringuserid,Stringname,Stringpassword){

this.userid=userid;

this.name=name;

this.password=password;

}

publicStringgetInfo(){

return"用户ID:

"+this.userid+",姓名:

"+this.name+",密码:

"+this.password;

}

}

classRole

{//角色

privateintrid;

privateStringtitle;

publicRole(intrid,Stringtitle){

this.rid=rid;

this.title=title;

}

publicStringgetInfo(){

return"角色编号:

"+this.rid+",名称:

"+this.title;

}

}

classGroup

{//权限组

privateintgid;

privateStringtitle;

publicGroup(intgid,Stringtitle){

this.gid=gid;

this.title=title;

}

publicStringgetInfo(){

return"权限组编号:

"+this.gid+",组名称:

"+this.title;

}

}

classAction

{//权限

privateintaid;

privateStringtitle;

privateStringurl;

publicAction(intaid,Stringtitle,Stringurl){

this.aid=aid;

this.title=title;

this.url=url;

}

publicStringgetInfo(){

return"权限编号:

"+this.aid+",权限名称:

"+this.title+",路径:

"+this.url;

}

}

第二步:

设置关系:

∙一个角色包含多个用户,一对多关系;

∙一个权限组包含有多个权限,属于一对多关系;

∙一个角色对应有多个权限组,每个权限组可能有多个角色,多对多;

classUser

{

privateStringuserid;

privateStringname;

privateStringpassword;

privateRolerole;

publicUser(Stringuserid,Stringname,Stringpassword){

this.userid=userid;

this.name=name;

this.password=password;

}

publicvoidsetRole(Rolerole){

this.role=role;

}

publicRolegetRole(){

returnthis.role;

}

publicStringgetInfo(){

return"用户ID:

"+this.userid+",姓名:

"+this.name+",密码:

"+this.password;

}

}

classRole

{//角色

privateintrid;

privateStringtitle;

privateUserusers[];

privateGroupgroups[];

publicRole(intrid,Stringtitle){

this.rid=rid;

this.title=title;

}

publicvoidsetGroups(Groupgroups[]){

this.groups=groups;

}

publicGroup[]getGroups(){

returnthis.groups;

}

publicvoidsetUsers(Userusers[]){

this.users=users;

}

publicUser[]getUsers(){

returnthis.users;

}

publicStringgetInfo(){

return"角色编号:

"+this.rid+",名称:

"+this.title;

}

}

classGroup

{//权限组

privateintgid;

privateStringtitle;

privateActionactions[];

privateRoleroles[];

publicGroup(intgid,Stringtitle){

this.gid=gid;

this.title=title;

}

publicvoidsetRoles(Roleroles[]){

this.roles=roles;

}

publicRole[]getRoles(){

returnthis.roles;

}

publicvoidsetActions(Actionactions[]){

this.actions=actions;

}

publicAction[]getActions(){

returnthis.actions;

}

publicStringgetInfo(){

return"权限组编号:

"+this.gid+",组名称:

"+this.title;

}

}

classAction

{//权限

privateintaid;

privateStringtitle;

privateStringurl;

privateGroupgroup;

publicAction(intaid,Stringtitle,Stringurl){

this.aid=aid;

this.title=title;

this.url=url;

}

publicvoidsetGroup(Groupgroup){

this.group=group;

}

publicGroupgetGroup(){

returnthis.group;

}

publicStringgetInfo(){

return"权限编号:

"+this.aid+",权限名称:

"+this.title+",路径:

"+this.url;

}

}

分杀完毕。

迅速,一定是不需要使用脑子就直接写出来的。

第三步:

设置关系;

classUser

{

privateStringuserid;

privateStringname;

privateStringpassword;

privateRolerole;

publicUser(Stringuserid,Stringname,Stringpassword){

this.userid=userid;

this.name=name;

this.password=password;

}

publicvoidsetRole(Rolerole){

this.role=role;

}

publicRolegetRole(){

returnthis.role;

}

publicStringgetInfo(){

return"用户ID:

"+this.userid+",姓名:

"+this.name+",密码:

"+this.password;

}

}

classRole

{//角色

privateintrid;

privateStringtitle;

privateUserusers[];

privateGroupgroups[];

publicRole(intrid,Stringtitle){

this.rid=rid;

this.title=title;

}

publicvoidsetGroups(Groupgroups[]){

this.groups=groups;

}

publicGroup[]getGroups(){

returnthis.groups;

}

publicvoidsetUsers(Userusers[]){

this.users=users;

}

publicUser[]getUsers(){

returnthis.users;

}

publicStringgetInfo(){

return"角色编号:

"+this.rid+",名称:

"+this.title;

}

}

classGroup

{//权限组

privateintgid;

privateStringtitle;

privateActionactions[];

privateRoleroles[];

publicGroup(intgid,Stringtitle){

this.gid=gid;

this.title=title;

}

publicvoidsetRoles(Roleroles[]){

this.roles=roles;

}

publicRole[]getRoles(){

returnthis.roles;

}

publicvoidsetActions(Actionactions[]){

this.actions=actions;

}

publicAction[]getActions(){

returnthis.actions;

}

publicStringgetInfo(){

return"权限组编号:

"+this.gid+",组名称:

"+this.title;

}

}

classAction

{//权限

privateintaid;

privateStringtitle;

privateStringurl;

privateGroupgroup;

publicAction(intaid,Stringtitle,Stringurl){

this.aid=aid;

this.title=title;

this.url=url;

}

publicvoidsetGroup(Groupgroup){

this.group=group;

}

publicGroupgetGroup(){

returnthis.group;

}

publicStringgetInfo(){

return"权限编号:

"+this.aid+",权限名称:

"+this.title+",路径:

"+this.url;

}

}

publicclassTestDemo

{

publicstaticvoidmain(Stringargs[]){

//第一步:

根据表结构设置关系

//1、定义单独的类对象

Userua=newUser("user-a","用户A","hello");

Userub=newUser("user-b","用户B","hello");

Useruc=newUser("user-c","用户C","hello");

//2、定义权限

Actionact1=newAction(1,"新闻管理","

Actionact2=newAction(2,"用户管理","

Actionact3=newAction(3,"备份管理","

Actionact4=newAction(4,"缓存管理","

Actionact5=newAction(5,"数据管理","

//3、定义权限组信息

Groupg1=newGroup(1,"数据管理");

Groupg2=newGroup(2,"人事管理");

Groupg3=newGroup(3,"信息管理");

//4、定义角色信息

Roler1=newRole(10,"超级管理员角色");

Roler2=newRole(10,"普通管理员角色");

//5、设置权限组与权限制关系,一对多关系

act1.setGroup(g1);//权限与权限级的关系

act2.setGroup(g1);//权限与权限级的关系

act3.setGroup(g2);//权限与权限级的关系

act4.setGroup(g2);//权限与权限级的关系

act5.setGroup(g3);//权限与权限级的关系

g1.setActions(newAction[]{act1,act2});

g2.setActions(newAction[]{act3,act4});

g3.setActions(newAction[]{act5});

//6、权限组与角色关系

r1.setGroups(newGroup[]{g1,g2,g3});

r2.setGroups(newGroup[]{g2,g3});

g1.setRoles(newRole[]{r1,r2});

g2.setRoles(newRole[]{r1,r2});

//7、定义用户与角色关系

ua.setRole(r1);

ub.setRole(r2);

uc.setRole(r2);

r1.setUsers(newUser[]{ua});

r2.setUsers(newUser[]{ub,uc});

//第二步:

根据要求通过关系取出数据

//可以根据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详情;

System.out.println(ua.getInfo());

System.out.println("\t|-【角色】"+ua.getRole().getInfo());

for(intx=0;x

System.out.println("\t\t|-【权限组】"+ua.getRole().getGroups()[x].getInfo());

for(inty=0;y

System.out.println("\t\t\t|-【权限】"+ua.getRole().getGroups()[x].getActions()[y].getInfo());

}

}

System.out.println("\n======================================================\n");

//一个权限可以输出具备此权限的角色,以及具备此角色的所有管理员,同时输出权限所有权限详解:

System.out.println(act1.getInfo());

//通过权限找到权限对应的权限组,一个权限组有多个角色

for(intx=0;x

System.out.println("\t\t|-【角色】"+act1.getGroup().getRoles()[x].getInfo());

for(inty=0;y

System.out.println("\t\t\t|-【用户】"+act1.getGroup().getRoles()[x].getUsers()[y].getInfo());

}

}

System.out.println("\n======================================================\n");

//一个角色可以输出它所包含的管理员,每个管理员对应的具体的权限,以及权限详情。

System.out.println(r1.getInfo());

for(intx=0;x

System.out.println("\t|-【用户】"+r1.getUsers()[x].getInfo());

for(inty=0;y

System.out.println("\t\t|-【权限组】"+r1.getGroups()[y].getInfo());

for(intz=0;z

System.out.println("\t\t\t|-【权限】"+r1.getGroups()[y].getActions()[z].getInfo());

}

}

}

}

}

引用,引用,引有就java基础的核心。

3、总结

这种转换必须做到零用脑编写。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1