oracle踩坑
好久没有写博客了,就分享一些乱七八糟的东西吧!
1.oracle递归查询
大家应该使用有的时候会使用递归查询数据库菜单的吧,比如下面这样的(偷的图)( ̄▽ ̄)ノ
这种一般是业务管理系统比较多,比如菜单树,权限树或者机构树等等,从数据库中查询出的数据,然后使用java代码构建成前端需要的树的结构,然后返回给前端,ui组件渲染展示
所以通常我们会有下面这种的表(oracle版本建表语句可以自己做修改),有着父节点和字节点的关系,就是id和parent_id
CREATE TABLE jrbac_menu (
id number(8) primary key not null , –主键id
real_name varchar(50) NULL,
parent_id varchar(50) NULL, — 父级菜单id
url_path varchar(500) NOT NULL,
icon varchar2(20) null,
torder varchar(50) NOT NULL
);
INSERT INTO jrbac_menu VALUES (1, “Forms”, null, “forms.html”, “fa fa-edit”, “0”);
INSERT INTO jrbac_menu VALUES (2, “UI Elements”, null, “Elements.html”, “fa fa-wrench”, “1”);
INSERT INTO jrbac_menu VALUES (3, “Buttons”, “2”, “buttons.html”, “Buttons”, “0”);
INSERT INTO jrbac_menu VALUES (4, “Icons”, “2”, “icons.html”, “Icons”, “1”);
INSERT INTO jrbac_menu VALUES (5, “Multi-Level Dropdown”, null, “Dropdown.html”, “fa fa-sitemap”, “2”);
INSERT INTO jrbac_menu VALUES (6, “Second Level Item”, “5”, “second.html”, “Second”, “0”);
INSERT INTO jrbac_menu VALUES (7, “Third Level”, “5”, “Third.html”, “Third”, “1”);
INSERT INTO jrbac_menu VALUES (8, “Third Level Item”, “7”, “third.html”, “Third Level Item”, “0”);