00:01
刚才这种方式呢,啊,我们相当于使用了嵌套结构机的形式。比如说呢,这一块,哎结果集该怎么封装,我们直接定义在association标签里边,哎说这个宾怎么封装。那么association还有一种,我们可以使用association进行分布查询。我们还可以使用。进行分布查询。那么这个分布查询又是什么意思呢?进行。分布。你要说。我们在现实的这个开发中,我们既然有department这张表,那么就会有department这个。我们去来操作这个表。But。咱们这个我们来操作这个表,那么在这个map呢,我们肯定呢,也有方法按照ID去查部门的。
01:02
Get e1。PT。把ID,那么这些呢,我们开发的时候都是写好的,因为这些根据ID查部门,我们其他业务也可能会需要。我们来把这个实现出来。创建一个map。好,我们就叫。Member。好,然后呢,把咱们这个标头扣过来。我们自己来写number。这里边儿呢,主要有一个name,哎,一定是我们这个接口名。跟接口进行绑定好。复制过来。好,接下来定义我们这个dept member的,按照ID查部门的方法。
02:02
好。在这。接下来呢,我们来写一个,嗯,咱们这个type返回值就是department对象。哎,复制它的全类名。返回department。好,那我们这个查询呢,也非常简单,Select。From,诶,咱们这个。Dept,那么这块应该不能先上,因为我们这个原部门表里边这个字段啊,跟我们扎宾不对应,所以说呢,查。查出ID以及de PT杠,哎,给它起名就叫name,我们扎B里边属性叫它。好,From t BL-de PT。Well。ID等于我们进来的ID。啊,所以说呢,在现实咱们这个开发中呢,这个方法肯定之前也都写好了。
03:06
而我们查员工。按照ID查员工,还要找到他部门,其实呢,调上两个方法就行了,第一个方法就是调用一下,按照ID先把我们这个员工查出来。那么一查出来以后呢,自然就会有一个D-ID这个属性,这个属性就是咱们这个啊部门号的这个值,然后呢,我们再按照D-ID去部门里边去查部门就行了。哎,SQ语句我们能写两个,这一个太复杂了。你写两个,第一步,先select。From我们TBL。Employee,这张表啊,VID等于一,我先把一号员工查出来,要他的部门,那我看一下这个部门是多少,我再拿部门的这个值。From。去部门表里边儿查,部门查出来,设置给这个员工对象就行了。
04:06
Well。V2呢,我们这个部门的ID又等于,因为我们刚才筛选的这个部门ID等于一好。这样的话呢,两部员工部门信息都会有。那么我们来看如何进行,哎,我们也可以封装的时候采用分布查询。好,那这样的话,方法就能写的很简单了。我现在呢,就给我们这个employee里边,诶,我们这里边呢,规定一个非常简单的办法。获取employee,我们还是get employee8id,但是呢,它是哎分布查询一步一步来做的。音ID好,传入ID。我们来定义这个方法。
05:00
啊,是它返回值类型,好result type我们就不写type了,我们现在开始自定义类型了。好,然后呢,我还是最简单的办法select,还是回到我们最简单的步骤,From我们TBL-employ这张表,Where过来的ID等于带过。等于我们这个ID。好,接下来我来规定,如果你这么来写的话呢,哎,这就是我们原生第一个方法就是这么来写的,但是我们这个封装规则,我们重新来制定一下。还是返回的employee对象,我来制定它如何封装。啊,如何封装ID呢,就叫买EP,但是呢,它是by step。好,Map就是它。如果我们分布查询。
06:01
分布查询第一步。第一步,先按照咱们这个员工ID。查出员工部员工信息。然后呢,第二步再是根据嗯,查出。员工信息中的咱们这D-ID值,查出咱们这个去部门表。表。查出部门信息。然后呢,第三步,我们可以把查出的这个部门啊,设置到员工里边。如果我们自己调用方法的话呢,我们可以这么来做,那马贝蒂斯也可以通过结果集的方式。好,我们第一步先会查出员工信息,就会调用这个SQL语句,那么查员工的话呢,就会简单的返回跟员工之相关的这几列,那么这几列的封装,我们来制定一下规则。
07:03
好,把之前的这种指点我们都来再熟悉一下。啊C会返回ID这一列,好,我把这些列拿过来。这些列,哎,大家看好。ID这一列啊,对应我们employee对象的ID属性。包括啊,我们来定义普通的。Lastname这一列对应我们。Last。Name这个属性啊,包括。来,我们查出来的。这一列。对应我们的Java的email属性。好。我们的真的这一列。Clone。真的这一列这一列呢,对应我们,哎,Property对应我们的这个真的属性。那么接下来就看了。
08:01
这是。这是咱们这个列里边会有这么多。而在我们这个里边呢,我们接下来使用association。我们employee对象里边有一个de PT,它是一个啊,咱们这个关联的对象,我们来用定义它单个关联的对象。定义。关联。关联咱们这个对象的封装规则。好,我们来看啊。在这一块的话呢,我们以前来指定一个Java tap,然后指定封装规则,但是呢,我们希望的是。Dept这个对象是按照D-ID这一列的值应该查出来的。所以说呢,接下来看走有一个属性叫select select意思就是我这个属性的值调用你这个查询方法,而查询方法怎么写呢?
09:03
我们在department里边有一个叫get dept ID的方法,我们要调查出部门,好,我就哎,我们要把这个name加方法ID我们都写上啊。这一块呢,我们传的时候select就是调用,哎,这个下的。哎,我们这个方法。也就是说。这一块告诉你,Dept是通过select属性指定的。咱们这个方法功能。嗯。表明。当前咱们这个属性是。调用。Select指定的方法。指定的方法查出的咱们这个结果。啊,那完了以后呢,关键我们要调这个方法进行查询了之后,之前我们得传入我们这个部门ID。
10:05
那么这个部门ID怎么办?我们要查这个的话部门ID。部门ID就是我们刚才调用查员工的时候,是不是查出的D-ID值啊。所以说把D-ID查出来这个值传给这个方法就行了。接下来通过这个克指定将哪一列的值传给这个方法。将哪一列?的值传给。好,我们呢,指定是将D-ID这是部门ID的值传给我们,这个方法让他查出department对象,并赋值给dept,那么整个呢,整个流程翻译过来就是。使用select指定的方法。
11:02
方法,然后呢,查出对象。但使用这个方法呢,它是传入指定的参数。指定的这列参数的值。查出对象并封装给。封装给property指定的属性。哎,就是这个意思,哎,我查出的值封装给这个属性好,我们现在来看这一种行不行。好,By step。好,那我们这个返回值get employee就返回。我们来测试。这是我们,哎这个分布查询。这个分布查询还是比较厉害的。点get好,我们分布查询,查询一号员工以及它对应的部门。
12:01
来打印一下,先打印一下这个员工信息。再来打印一下,看他的部门有没有employee。Get。PT。好,我们来测试。走。诶,这个查询出来了,但是的话他有问题。当然这个map的没有这个,哎,Department的这个方法,这个方法他没找到,那我们这个注册可能有点问题啊。来看一下。看一下depart哦,你看啊,这个文件名跟我们这个接口名,哎,差了一个小字母T。啊。再来测啊。走。好,这就行了,我们来看效果,效果在控制台,哎,发了第一条SQL语句,这条SQ语句呢,是查员工的。
13:04
查员工查出数据要封装结果的时候,封装到部门,他又要查部门,所以说他又发了一个搜口语句查出部门,这样的话员工部门信息就都有了,哎,我们使用呃session进行分布查询。
我来说两句