當我們在使用一款軟件或者使用某某管理系統的時候,都會使用到分級菜單來給我們清晰的展示出其功能模塊。而這些分級菜單呢,是需要通過對數據庫的調用才能展示給我們的。今天,我就主要介紹一下制作分級菜單我們所要用到的數據表。
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, |
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