00:00
来吧,咱们拆解一下啊,一个大活,不要想着从开头一下子就干到结尾啊,就是说这个拆分成几段,一段一段的去干。比如说呢,咱们先去。看一下啊。根据din呢,去查这个角色这个事儿,这个其实我们以前是干过。去看一下我们这个肉service哈。嗯,这边是get assigned肉。根据有的名ID把这个已分配的角色查出来,这个事儿咱们干过。其实呢,我们现在呢,咱们要的是角色的名称,那就从这里边去取一下就完了。啊,从这里边便利他取一下名称啊,你要是觉得不过瘾的话呢,你当然说你另外写个方法,返回的就是角色的名称,其实也可以。啊,但是我觉得嗯,必要也性不太大哈,所以这个方法是已经是已经有了。
01:02
呃。啊,这个是。嗯,操作一啊,这个是根据我的命ID查询以。已已分配的。呃,这个叫角色啊。这个操作以前已经写好了。但是可能有的同学心想,是你写了。我还没写。这个咱就不再那啥了哈,然后这个下一个操作呢,操作二。呃。操作二就是说这个。嗯,根据din ID啊,同样是din ID。
02:02
查询。你。分配的权限。哎,这个倒是没有,我们下边咱们去写下这个。呃,写这个的话呢,咱们去找一下我们的TH的service。那么我们这儿只是咱们要要名字就行,咱们要名字就行,咱们不需要那个。呃,整个的权限的对象啊,咱们所以说呢,在这儿,咱们就这里边放个string。哎,这是get一个。呃,但是他这查的是ID是吧,我们这ID还不太合用,我们要的是这个,而且他是根据角色的去查的,我们要的是权限的名称。By admin ID。哎,我们是要写这么一个方法。
03:06
哎,下一步看他怎么实现。关键是这个怎么去写这个circle。嗯,来,我们找到它的实现类哈。哎,在这。呃,当然了,是叫他的方法。把get改成select。哎,所以说这边还需要再写一个map的方法。然后呢,就是说找到我们map的配证件。嗯,提示的map。Control c。
04:00
这个时候呢,我们很明确,我们结果呢,要的就是字串。所以返回的结果的类型是个字符串,然后看看,琢磨琢磨这个SQ语句咋写哈,现在我们有的是ADID。哎,咱们看看啊呃,这回不看这个表了哈,咱们要看的是。呃,这个数据库。我们现在呢,有ADID。根据din ID呢,可以查adin和角色的中间表。把角色的ID查出来。再根据角色的ID呢,去这个角色权限的中间表。把这个对应的权限查出来。啊,权限这是只是权限的ID,拿到权限的ID呢,可以去查这个权限的这个表。所以说这是。三个表都有关系。哎,三个表都有关系啊,这个时候其实是,呃,你当然可以用子查询来做,也可以是用左外连接来这种方式来做啊。
05:04
两种都可以啊,咱们选其中的一种,比如说我们用左外连接的方式来做啊。Select。这个tooth,这个表里面的内。啊,这是一个字段。哦对,我就是要name就行啊,然后from。TH,然后呢?连谁呢?连就是我们权限表肯定是连这个角色权限,这俩能连上啊,连上能连上哪个就连哪个。燕儿。LH。后边on一下连接条件。是我们这个表的权限ID。它叫ID,等于这个表的权限ID。别名也不好起,别名你说叫啥?这叫这叫A呀。这个叫2A。一会儿这个叫AR。
06:01
是吧,所以说其实我。是就琢磨过这事儿啊,写别名也也,其实也没简单到哪哪去。Love状语啊,然后再来一个level语。这回呢,就是拿这个表去连那个din肉。哎,这个连接条件是。是他就是你想这个和这个嘛,能连起来就是肉ID能连起来。它的肉ID等于它的肉ID。哎,然后呢,这个下边where条件是我们这个表里边的。好的,面的ID等于。随便来一个,比如说11啊,但现在这个这里边儿没有哈。我们先把这个搜索语句先把它拿过来。CTRLC。
07:04
这井号ID。啊,那么我们想测试一下的话呢,这边咱们得给他加一些个测试的数据哈,你比如说这个234。234呢,我们让他去关联一下这个,比如说呢,2356吧。比如说二哈关联二,二关联三。关联一下。三三关联一下五三关联一下六。哎,然后呢,我们查一下这个哈。哎,就是这几个哈,哎查出来这个是OK,但是这里边哈,就是说有可能你会查到什么呢。你有可能会查到。呃,比如说哈,这个里边你可能会查到这个一和四。
08:01
哎,你可能会查到这个一和四。呃,怎么让他去出现这种情况啊,这个里边比如说二二和一。三和四。哎,这就会有两个这样的,应该不是闹,他要是闹的话,这就显示是闹了,这应该是空字符串。哎。这个东西吧,我们要是往spring security那里边放的时候会抛异常,他不要这种空值啊,他不要这种空值没有意义。那么看一下啊,这个怎么去处理一下。呃。再加个条件and。这个东西呢。说这个不等于空头串。哎,这样行不行啊。把它去掉。或者说你要是这个实在觉得我们说再严谨一点,让他来个is not now。
09:04
这个not值不能用,不等于啊,它这个得一直not not。哎,然后呢,再严谨一点,给他来个。这个东西有可能是会有重复的啊,因为它交叉嘛,一个adin关联好几个角色。这几个角色呢,其实关联的这个权限呢,完全有可能是有交叉的。有重复的,重复的就没有必要了啊,有一个就行啊,就把重复的去掉。哎,这是我们这样的话,就是给他这个完善一下。嗯。把这改成井号。对面的ID哈。全部拿过来。哎,这是这个搜狗啊,这是我们写的circle狗,这个做了一个表,两个表三个表的左外连接啊,这是关联查询啊,这个大家也可以去也试着体验一下啊,CTRLC。
10:06
嗯。呃,根据他查询这个分配权限,然后这个circle语句如下。这个搜狗语句所在的文件呢?就是AOTH的。Map。哎,这个时间关系,咱们就不在项目里边测试了啊,最后写完咱们一块儿测。
我来说两句