00:00
模拟数据我们现在已经读取了,那我们现在啊,需要在数据库里面把真实的数据给它准备好了啊,然后从数据库里面把那个数据给它读出来啊,那好,首先我们在这里呢,要把数据准备一下。那就按照咱们的菜单咱们准备吧,那第一个我们是控制面板,但是我们说呀,咱们的塑形结构,它一般情况下都会有一个顶级节点啊,所以我们写上咱们叫做系统菜单啊,咱们叫系统菜单啊好,然后呢,写完之后我们再来啊,下面呢是控制面板啊,所以写上叫控制面板,然后接下来下面是我们的权限管理,来权限管理,嗯。接下来那就是我们的用户维护了啊,用户维护好再来啊,我们的角色维护。
01:01
还有我们的许可维护啊,行了啊,数据呢,简单的准备这么一些就够了,那么系统菜单它是顶级菜单,它没有菜单PID等于零,而控制面板和权限管理他们的负菜单就是系统菜单了,所以它就是一了,那么一我们的EPID就有了,而我们的用户维护,角色维护,许可维护,它的负菜单就是三权限管理,所以三诶,咱们这么写,你这么写完以后,数据之间就形成了一个上下级的关系,那么我们查数据的时候,就想办法把它的数据查到,并且组合他们之间的关系就可以了啊。好,那我们现在我们在这个地方,那我就把这个注掉吧,因为我们现在的这个数据啊,它是模拟出来的,并不真实,我们先不管它啊,好,那么我们现在如何来做呢?首先我们就写上叫读取数据啊,咱们叫做树形结构的数据,树形结构的数据。
02:09
读取数据库的数据,我们这里呢,首先按照我们的一个规则啊,咱们前面说了,从父到子啊,通过父节点来操作子节点,那么读取数据应该也是这样的,先把负找到,再把值找到,所以我们查询的时候,我们会首先先把系统菜单找到,然后再按照它的ID进行匹配,把下面的菜单一一找到,那我怎么能够找到这个系统菜单呢?我们会发现顶级节点它跟别的节点不太一样,因为在它的这个位置PID是没有的,那么别的它都有,所以啊我们简单的可以这么认为,我们这么来啊,我们创建一个service来查询它的顶级节点啊,所以我们在这里呢,来new,我们创建对应的接口叫promision DA啊,然后在这里我们创建接口permission service。
03:07
Promi service啊好,然后呢,是我们的实现类,我们的class啊promi service,嗯,IL,然后接口pro service,嗯,点击点击完成,然后里面圈A啊我们的,并且增加我们的promo。好,Permission door,诶,好,写上写上以后all to啊,这就可以了,嗯,好,嗯。啊,这写错了啊来,嗯。好,写完以后,那在我们的当前controller当中,把service给它拿到,我们先读取那个顶级节点,嗯,好圈啊,我们的,嗯。
04:00
呃,接下来我们现在呢,就准备要读取了啊,来咱们看一看,嗯,这个又出点问题啊,给他来反过来,嗯。嗯,哦,这个地方应该小写啊,来permission permission service拷贝,拷贝之后在我们这里来,我写上。点我们叫query root permission啊,然后呢,反过来,那么我们的root permission它只有一个,那所以我就写上了叫promis,咱们叫root就可以了啊好,那写完之后,那我们去查的时候,一旦查到了,那么这个集合里面就应该包括它,所以把它拿过来,嗯。好点我们的root啊,给它放进去,嗯,好写完之后呢,把我们这个对应的查询给它写出来。然后我们这边打开啊,打开以后我们点一下,点完以后,那这里呢,就是permission door.que我们的roots,好啊把这个呢给它去掉就可以了啊好点一下创建,创建以后,那我们这个呢,其实写S口文就相对来说比较简单了,来select,我们叫select星from t_permission然后条件是PID,它is,那这个时候不能写等于那因为等于那会出问题的,他查不出来,那么我们要写上in,那表述的是你的负节点,没有,那么你就是顶级节点,所以这样的话呢,我们的顶级节点就拿到了,然后放到集合里面一返回就可以了,但是你光拿到顶级节点它没有用啊,因为按照我们的要求,你顶级节点下面还有子节点呢,所以我们还要去把它的。
05:57
子节点找到,所以我们这里要这么来写了啊,我们写上叫list,它的子节点可能有多个啊,所以我们写上咱们叫promis,我们叫child啊,叫吧,嗯,等于promis s点我们叫child permission加个S表示的意思啊。
06:19
好了啊,那我想想咱们这儿也改一改吧,咱们叫child promis啊,咱们这么写吧,啊好,写完以后,那你这儿就得有一个负节点了,那么为什么呢?因为我们是通过这个一来查询PID,所以啊,我们把它咱们传过去啊,咱们叫做root啊,咱们这么写或者咱们这么写也行啊,咱们写上root.get我们的PID啊,就是我们通过这个PID来查询它的子节点啊,就是这么个意思,好,那假设我查到了负节点,我查到了子节点,我也有了,那这个时候大家看我们就组合他们的关系就行了,所以呢,在这里我就写上叫root.set它的children,把我们的这个给它放进去就可以了啊好,那就剩下我们点击这个了,嗯,创建。
07:10
我看啊,咱们点一下点,然后嗯。啊,我这写啊,写错了啊,咱们这个叫permission service啊,咱们怎么写,写完以后来点击一下,然后呢,我们创建,嗯。接下来再点啊,点完之后好反过来啊,那接下来我们这里呢,是permission door,点我们carry啊,把这个我们拷贝拷贝过来,我们放到这里,然后呢,我们写上叫PID,把这个去掉,嗯,去掉以后点一下啊,我们create好了,那接下来我们把文给它写上select,嗯。呃,Select星from啊,T_permission where PID,那么等于我们叫D就可以了啊好,那你这么写完以后,我们现在节点有了子节点有了组合他们的关系,然后呢,再给我们的页面返回,那么我们数据就算是写好了,写好了对不对,不知道,我们来试一试啊,把这个服务器给它停掉以后重新启动,观察一下我们的效果,好服务器已经启动完了,那么我们现在就刷新一下,看一看数据对还是不对,刷新。
08:33
刷新以后,大家可以看到我们这个地方好像它有点问题啊,因为我们现在只有系统菜单,它的子菜单我并没有找到,所以我们现在看看哪个环节出现了错误,我们之前我们取的root,那这个root它已经其实取出来了,但是它的子节点没有取出来,这是为什么呢?我们来看看啊,我们这写错了,因为我们是根据那个root,大家看我们这是root呀,那我们要根据它的一当成PID去查,所以我们这啊不应该这么写,咱们应该写上叫ID,对了啊,我们应该这么来写啊,所以之前呢,这个参数传错了,嗯。
09:13
好,把这个给它停掉,停掉以后我们来啊,再重新启动观察一下效果。好,可以了,那我现在呢,我们就直接刷新,刷新以后诶,你会发现系统菜单出来了,点一下控制面板和权限管理它都出来了,可是你这个出来是出来数据库里面可不止三个节点菜单呢,还应该有三条啊,是五六,那这还没出来呢,所以啊,我们这个程序还没有写全,也就意味着我们的子节点可能还有子节点,所以我们这个代码呢,还有进行补充,我们写上叫循环,我把每一个子节点啊,我们给它来进行我们的查询,Child formation加个S就可以了啊好,那么写完以后,那么我们这边就准备来啊,我这个是不是写错了,嗯。
10:14
来啊。好,那我们现在呢,把这个呢,我们放到这边,然后呢,我要把每一个我们的子节点要去查一遍,我查的就是它的子节点,那么恰恰我就可以把这个拿过来了啊好,拷贝拷贝以后我放到这里,那这个地方我就写上叫child啊,咱们叫child child promiss,然后把它拿过来,也就意味着把它当成我们的负节点去进行查询,那这样的话呢,我们的父节点有了子节点,有了组合他们的关系,那么就是child permiss点我们的啊,Child child permissions,哎,我们这么写就可以了啊好,写完之后,那我现在再来试一试啊,嗯。
11:05
好,把这个停掉,停掉以后再重新启动一下,观察一下效果。好啊,启动完成了,那我们现在就可以再来试一试了,刷新刷新以后大家观察一下,点权限管理,点用户角色许可,这说明啊,咱们按照这种方式,数据库的数据就已经展示在我们的页面当中了。
我来说两句