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

所属分类: 数据库 / oracle 阅读数: 1897
收藏 0 赞 0 分享

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

1、菜单表

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、角色表

create table role( 
 role_id number(10) primary key, 
 role_name varchar(20) 
); 
insert into role values(1,'管理员'); 
insert into role values(2,'销售总监'); 

3、用户表

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、角色菜单表

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、角色用户表

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

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

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数据库加载动态菜单所用到的数据表,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

ORACLE中如何找到未提交事务的SQL语句详解

这篇文章主要给大家介绍了关于ORACLE中如何找到未提交事务的SQL语句,文中通过示例代码介绍的非常详细,对大家学习或者使用ORACLE具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle分组函数之ROLLUP的基本用法

这篇文章主要给大家介绍了关于Oracle分组函数之ROLLUP的基本用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle数据库具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle表空间设置和管理浅析

这篇文章主要给大家介绍了关于Oracle表空间设置和管理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle使用MyBatis中RowBounds实现分页查询功能

这篇文章主要介绍了Oracle使用MyBatis中RowBounds实现分页查询 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle自定义脱敏函数的代码详解

这篇文章主要介绍了Oracle自定义脱敏函数的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle查询截至到当前日期月份所在年份的所有月份

这篇文章主要介绍了oracle查询截至到当前日期月份所在年份的所有月份,本文通过代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle数据库导入.dmp脚本的sql 语句

这篇文章主要介绍了oracle数据库导入.dmp脚本的sql语句,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle通过1条语句插入多个值的方法示例

这篇文章主要给大家介绍了关于oracle通过1条语句插入多个值的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

oracle导入导出表时因一个分号引发的惨案

这篇文章主要给大家介绍了关于oracle导入导出表时因一个分号引发的惨案,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle创建设置查询权限用户的方法

这篇文章主要给大家介绍了关于Oracle创建设置查询权限用户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多