00:00
好。我们刚才这个查询啊,跟我们之前使用association一样,我们也是相当于嵌套结果集的方式。好,我们这一块呢,相当于是一个嵌套结果集的方式。好结果集的方式。然后呢,使用咱们这个collection标签。标签定义咱们这个关联的。集合类型的,咱们这个属性封装规则。那么呢,还是借鉴我们那个association标签,看我们这个查询能不能做成分布查询。我们来看一下啊,如果我们要做分布查询,我们circle应该这么来写。首先,第一步。我们还是一样,三星from我们TBL-dept这张表,Where,我们这个部门ID等于哎,我们查询一号部门信息。这样一查部门信息,就能封装成功了。
01:02
接下来呢,我们再去查询当前部门,一号部门的所有员工,直接来employee表中,诶,一号部门,也就是说D-ID这一列的值只要等于一,就是一号部门的所有员工。From。TB employee。啊,这张表月我们的第杠ID应该等于一,这样的话呢,我们两也就把当前部门里边所有员工也就出来了。我们来看我们这个分布查询怎么写。我们来定义方法。还是一样,Public department,好,DEP t by ID,我们这个呢,是step查询的。传入我们这个部门ID。我们来定义一下这个方法的实现。Department member查文件中。
02:01
好,我们来定义这个方法。Select。是它,然后呢,Result map啊返回类型。我们还是写我们最简单的select,我们查询跟我们之前一样,哎,就是这个查询按照ID查部门,哎非常简单。啊,非常简单。但是呢,我们来看我们这个封装规则怎么写map。好,我们来要封装我来查出的这个部门信息。I did呢?我们就叫MY。DEPT。Step。就是他。好,我们来看这里边儿我们怎么写。首先呢,他查出来会有这两列,哎,我们把这两列先封装正确就行了。我们查出来会有ID。
03:01
ID。Chrome正好查出来的ID列。ID列。ID列,ID列就是我们的ID属性。啊,还有查出来有一个列。哎,这个列也起好别名了啊,我们都可以不用起别名,我们自定义规则了。你起上别名的话,哎,也更好是吧。这个dept对应的是我们对象的department。是他。好,我们接下来来看,还是一样。我们对象中有一个EPS属性。EPS。然后呢,我们来看这个ES怎么办,我们来嵌套,结果接下来。
04:05
这里边也有莱特元素,所以说呢,这个员工你也能查的出来。那么员工的查询方法呢?我们还没写。我们现在缺一个,按照部门ID查出所有员工。我们来到employee member里边,我们定义一个这个方法。按照部门ID查出所有员工。嗯,老一。Get e。PS8DEPTID。按照部门ID呢?我们来查出所有员工应赔偿。传进DEPTD的值。好,接下来我们来看在这一块怎么定义,定义这个方法。来到employee里边。我们在这呢,只定义一个方法。
05:01
Select。啊,按照部门ID查出所有员工好返回值类型,我们返回的是一个list,我们返回值类型直接写list里边元素类型employee就行了。好,我们把这个employee。啊,这是一个非常简单的查询。Select。From t BL-employee这张表。Where where的条件是D-ID,也就是说呢,我们这一列的值等于你进来的。大号好,我们传进来的第1PD。我们接下来来到department member这诶。我们来定义department封装规则的时候,ID列、department name列我们都定义好了,接下来我们就来定义EMS这个属性。它是调用我们employee member。
06:03
的这个方法的,我们把name拿过来。调用我们这个namespace下的。下的什么方法呢?哎,往下看就是我们刚才定义的按照部门ID查员工的方法。同样的,我们需要某一列值,哪一列的值传进来呢?我们查部门的话呢,哎,我们来看啊,我们查部门只会有两列啊,我们单独只来查部门信息。哎,我们就是把这一列ID这一列的值传过来,因为我们这个只是查部门信息的,所以说呢,接下来使用可还是跟之前的用法一样。将我们查出来ID列的这个值,哎,这个ID列啊,ID列的值传递给这个方法让他查询。我们现在来测试这个分段查询行不行?
07:03
走。走,我们来调用这个分段方法,嗯,这还不是分段查询的方法。Member。Get和巴,我们来查询一号。好,我们先来输出。输出我们的这个部门。以及呢,我们再来输出一下这个部门里边所有的员工。来看一下。走。哎,我们看到,诶这个分段查询部门也拿到了,咱们这个员工AID这一块,诶这一块也都拿到了。而且呢,这还是两条SQL语句,诶,第一条是查出部门信息的,第二条又是查员工信息的。所以说这个呢啊,我们collection也能用分段查询,只不过大家注意到的是。
08:03
我们全局这一块。是开启了延迟加载,然后分段查询这一块,并没有出现延迟加载的这个效果。我把这个注掉,我们希望它按需加载。我说呢,我现在只要。只要部门的,比如呢,我只要部门名之类的,我们来看它。走。哎,他查出了部门那也没问题啊,然后的话,接下来你要部门的其他信息了。你再要。部门的员工了走。他也就查出员工了啊,那也是有按需加载的。
我来说两句