00:00
我们再来说一下这个result map中啊,最后一个标签啊,就是我们这个。Disc,哎,就是它,我们把这个呢称为鉴别器。MY可以根据鉴别器判断某列的值来改变我们这个封装行为。就来说一下,我们在employee里边进行演示啊,好,我们在这里边说。鉴别器。然后呢,我们这个MY。可以。使用。咱们这个discrimin鉴别器判断。某。列的值。然后改变,根据这列的值。根据某列的值。改变。嗯,咱们这个封装行为。
01:00
我们就以封装咱们这employee为例。现在呢,我们来模拟上这个场景啊,我要求如果查出的是女生。哎,因为女生有真的这一列来作为咱们这个鉴别,如果查出的是女生,就把咱们这个部门。信息查询出来,否则啊不查询。那部门信息男生的不要。而且呢,如果是男生。你还给我按照另外一个规则,把咱们这个last。Name。这一列的值。赋值给。赋值给我们这个email。哎,也要说呢,男生的email不是数据库里保存的,而就是他的last name。我要我们想要这么做怎么办呢?哎,我们来看。
02:01
在这一块我们来重新写一个我们这个封装result map。之前这些都还是一样,我们呢,就把这些拿过来。选C。这是我们之前定义的封装结果集。好,我们在这里边呢。妈,咱们这EP,哎,有鉴别器的。然后呢,我们就在这里边来写我们这个封装规则,之前的规则还一样。这些。这是基本的列。封装在这儿。以及如果我们要查部门信息,这是我们哎做的分段查询。部门信息。比如说呢,我们现在想要实现的效果就是诶。如果是女生这个部门信息排查,所以说呢,接下来我们就使用letter。
03:05
鉴别器。鉴别器呢,首先这个Java tap先放在这儿,有一个属性叫C。克鲁姆的意思就是,哎,通过判断哪列。指定要判断的列。指定咱们这个判定的列。列名。我们呢,就根据真的名列,因为这个真的列,我们能知道他是男是女。然后呢,这个扎太。就是咱们这。哎,这个。列值对应的。咱们这个类型。好,那我们这个真的这一列呢啊,我们里边保存的是死正,我就直接写死string这一块写的,哎,你看啊,我这么写写的是死string的别名,因为我们这个。MY为所有Java类型都已经起好名了。
04:01
好。然后我们来看这两个,写好以后,接下来在RI letter标签题里边有case属性。好K,那我们呢,就有零和K1。K0,就是我们这个女生。K1就是男生。我们来就来说一下这两个的封装规则。接下来还有一个属性非常必须这个result type。还是指定啊,咱们这个。还是指定我们这个封装。咱们这个结果。类型。比如说呢,我们是封装employee的时候,我有自我开始判断了,所以说type还是employee。接下来我们继续。如果是女生,我把这个封装部门查部门我放在这里边,就说如果是女生,Employe对象的部门给我查出来。
05:11
其他的都是按照上边的规则继续走。如果是男生。还是封装我们这个employee对象,告诉你封装employee对象的时候,如果是男生。规则,哎,前边的规则可能呢,还是前面的规则,我们在这儿定义新的规则。我们把这些拿过来。因为我们如果是男生的话,我们的要求是他的部门信息不查,而且email这个值是拉name这一列。所以说呢,把last name赋值给email,这就满足我们刚才的要求了。哎,如果是男生,Last name,复制给email。我们只是演示的要求啊,虽然这个要求嗯,非常不合理,嗯,好,我们来测试一下查询,看行不行,这是我们的这个result map myp。
06:10
DIS。这个result type大家一定注意啊,不能缺少。就说呢,Result type或者result map二选一不能缺少,你可以在这里边指定,哎,我封装employee对象的规则,你也可以指定,哎,另外一个result map的新的服装规则都行。我们接下来呢,在这里边测试。好,我们来到上边get EP把咱们这个ID。Step分布查询。就是它,我们现在呢,让它返回结果是这个我们来测试。测试。好下边好,就是它这个呢,我们分布查询,现在我们查询的一号员工,我们来看一下。
07:07
一号员工呢是女生,女生的话呢,拿部门是有信息的来看。对不对,走。诶,女生,哪部门是啊,可以拿得到的,我们就把这个员工信息都详细打印。钱他部门是能拿得到的。哎,你看啊,这是一号女生,部门是拿得到的,我们再来查一个男生好。三号是一个男生。他的部门我们。啊,刚才封装的时候没有写三号。哎,你看三号他是男生,而且email就是我们定义的规则是把last name值付过去,而我们这个部门却是没有的。所以说呢,这就是我们这个RI,我们使用鉴别器。
08:03
这个鉴别器呢,作为一个了解内容,这个我们也是用的不是太多,非常少啊,大家了解一下。一定注意这个result type不能少诶。你写result type或者result map都行,这一块注意一下就行了。
我来说两句