好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

web前端从Oracle数据库加载动态菜单所用到的数据表

当我们在使用一款软件或者使用某某管理系统的时候,都会使用到分级菜单来给我们清晰的展示出其功能模块。而这些分级菜单呢,是需要通过对数据库的调用才能展示给我们的。今天,我就主要介绍一下制作分级菜单我们所要用到的数据表。

1、菜单表

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

create table menu(

  menu_id   number(10) primary key ,

  menu_name   varchar (30),

  menu_url   varchar (200),

  parent_menu_id   number(10)

);

 

/*如果菜单是一级菜单,p_menu_id为0*/

insert into menu values (1, '图书管理' , '' ,0);

insert into menu values (2, '订单管理' , '' ,0);

insert into menu values (3, '用户管理' , '' ,0);

insert into menu values (4, '系统设置' , '' ,0);

insert into menu values (5, '图书展示' , '/system/updatePassword.action' ,1);

insert into menu values (6, '新增图书' , '' ,1);

insert into menu values (7, '订单分类' , '' ,2);

insert into menu values (8, '新建订单' , '' ,2);

insert into menu values (9, '用户信息' , '' ,3);

insert into menu values (10, '用户信息设置' , '' ,3);

insert into menu values (11, '管理员信息' , '' ,4);

insert into menu values (12, '管理员权限设置' , '' ,4);

2、角色表

?

1

2

3

4

5

6

create table role(

  role_id number(10) primary key ,

  role_name varchar (20)

);

insert into role values (1, '管理员' );

insert into role values (2, '销售总监' );

3、用户表

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

create table users(

user_id number(30),

user_name varchar2(40),

user_password varchar2(40),

user_sex char (3),

user_phone varchar2(50),

user_email varchar2(60),

user_img varchar2(40)

);

create sequence seq_u;

insert into users(user_id,

          user_name,

          user_password,

          user_sex,

          user_phone,

          user_email,

          user_img) values (seq_u.nextval, '黄飞鸿' , '1111qa' , '男' , '15000102345' , '1234567@qq.com' , null );

4、角色菜单表

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

create table role_menu(

  id number(10) primary key ,

  role_id number(10),

  menu_id number(10)

);

/*录入角色和菜单的初始数据*/

insert into role_menu values (1,1,1);

insert into role_menu values (2,1,2);

insert into role_menu values (3,1,3);

insert into role_menu values (4,1,4);

insert into role_menu values (5,1,5);

insert into role_menu values (6,1,6);

insert into role_menu values (7,1,7);

insert into role_menu values (8,1,8);

insert into role_menu values (9,1,9);

insert into role_menu values (10,1,10);

insert into role_menu values (11,1,11);

insert into role_menu values (12,1,12);

5、角色用户表

?

1

2

3

4

5

6

7

8

create table role_user(

  id number(10) primary key ,

  role_id number(10),

  user_id number(10)

);

/*录入角色和菜单的初始数据*/

insert into role_user values (1,1,1);

insert into role_user values (2,2,2);

数据表建好之后,前端通过

?

1

2

3

4

5

select distinct *

from users u inner join role_user ru

     on u.user_id = ru.user_id inner join role_menu rm on ru.role_id =

     rm.role_id inner join menu m on m.menu_id = rm.menu_id

     where u.user_id =1

这么一条SQL语句即可调用用户ID所对应的系统菜单。

可显示如上:

效果图:

总结

以上所述是小编给大家介绍的web前端从Oracle数据库加载动态菜单所用到的数据表,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/Blade_/article/details/79806704

查看更多关于web前端从Oracle数据库加载动态菜单所用到的数据表的详细内容...

  阅读:27次