[图解]企业应用架构模式2024新译本讲解27-层超类型3

1
00:00:01,020 --> 00:00:04,340
下一个就是更新家属数量

2
00:00:04,830 --> 00:00:09,140
它又找了一个ID为2的,拿出来

3
00:00:09,150 --> 00:00:09,800
然后更新

4
00:00:10,300 --> 00:00:11,770
没有什么新东西,一样的

5
00:00:12,460 --> 00:00:13,250
我们不看了

6
00:00:14,020 --> 00:00:16,220
然后回来又重新把它获取出来

7
00:00:16,850 --> 00:00:18,390
这也是一样的

8
00:00:18,720 --> 00:00:20,470
这都没有什么可看的

9
00:00:23,040 --> 00:00:24,190
我们运行到这里

1
00:00:00,450 --> 00:00:01,920
这时候就剩最后一个了

2
00:00:02,250 --> 00:00:04,210
就是模糊查找

3
00:00:05,470 --> 00:00:09,660
搜索在姓里面包含字母n的人员

4
00:00:10,530 --> 00:00:14,200
同样调用mapper的这样一个操作

5
00:00:17,210 --> 00:00:18,030
为什么这有个2

6
00:00:18,040 --> 00:00:19,870
因为里面还有一个不带2的

7
00:00:20,890 --> 00:00:22,170
然后把这个传进去

8
00:00:22,800 --> 00:00:24,990
返回就是Person的集合

9
00:00:27,770 --> 00:00:28,400
我们来看

10
00:00:31,530 --> 00:00:33,560
我们看这个操作

11
00:00:33,570 --> 00:00:34,720
实际上是实现了

12
00:00:37,270 --> 00:00:38,710
PersonFinder接口

13
00:00:38,720 --> 00:00:43,470
里面定义的方法

14
00:00:43,480 --> 00:00:44,390
定义的操作

15
00:00:45,920 --> 00:00:52,730
然后,它这里new这样一个对象

16
00:00:54,300 --> 00:01:01,870
new一个对象来构造具体SQL和参数数组

17
00:01:02,480 --> 00:01:03,990
我们前面见过的

18
00:01:04,620 --> 00:01:11,220
然后由findmany来执行

19
00:01:11,580 --> 00:01:14,350
然后得到结果,变成Person列表

20
00:01:14,630 --> 00:01:16,900


21
00:01:19,250 --> 00:01:21,630
这个也是一样,一个内部类

22
00:01:22,750 --> 00:01:30,390
只不过我们这里是按照姓来搜索

23
00:01:31,080 --> 00:01:34,750
之前这个是所有的

24
00:01:37,040 --> 00:01:40,760
之前所有的这个,参数列表是空的

25
00:01:40,770 --> 00:01:41,800


26
00:01:47,390 --> 00:01:48,860
你看,SQL在这里

27
00:01:49,940 --> 00:01:53,300
参数列表这里就不是空的了

28
00:01:53,550 --> 00:01:58,010
而是这里有一个姓在里面

29
00:02:01,270 --> 00:02:04,920
这个跟之前一样的

30
00:02:05,390 --> 00:02:08,000
回来,然后findmany,这个一样

31
00:02:08,330 --> 00:02:12,770
创建并打开连接

32
00:02:13,280 --> 00:02:14,520
我们之前都看过了

33
00:02:18,310 --> 00:02:20,210
针对参数列表

34
00:02:20,220 --> 00:02:21,610
你看,这有一个

35
00:02:22,080 --> 00:02:24,310
有一个了

36
00:02:25,100 --> 00:02:27,170
SQL现在是什么select where

37
00:02:27,180 --> 00:02:28,810
like什么之类

38
00:02:30,290 --> 00:02:33,410
这里添加进来

39
00:02:34,500 --> 00:02:37,770
参数里面,执行查询

40
00:02:39,220 --> 00:02:42,290
然后加载reader里面内容

41
00:02:42,300 --> 00:02:43,810
到领域对象,一样的

42
00:02:46,050 --> 00:02:49,560
实际上,因为经过之前的操作

43
00:02:49,690 --> 00:02:52,860
我们标识映射里面东西都在的

44
00:02:53,700 --> 00:02:55,620
因为我们这个对象就4个

45
00:02:56,180 --> 00:03:00,610
所以你根据姓氏来过滤

46
00:03:01,440 --> 00:03:03,440
查询得到肯定是它的一个子集

47
00:03:04,530 --> 00:03:08,790
所以这里的检查

48
00:03:09,640 --> 00:03:14,190
我们后面这个检查肯定是通过的

49
00:03:14,320 --> 00:03:15,310
所有都在这里面

50
00:03:15,670 --> 00:03:17,110
但是这是基于什么

51
00:03:17,120 --> 00:03:19,390
我们前面已经加载过了

52
00:03:19,750 --> 00:03:23,050
假设没有前面查询的铺垫

53
00:03:23,060 --> 00:03:24,370
如果是第一次查询

54
00:03:24,910 --> 00:03:26,540
显然这里面是没有的

55
00:03:28,770 --> 00:03:31,430
并不是说下面这个是多余

56
00:03:31,440 --> 00:03:32,270
不是,因为只不过

57
00:03:32,280 --> 00:03:34,030
因为我们前面已经加载过了

58
00:03:35,830 --> 00:03:36,910
每个都是一样的

59
00:03:37,000 --> 00:03:41,420
到这一步,都是从这里取回来

1
00:00:00,370 --> 00:00:03,040
最后,我们把它输出出来,这是一样的了

2
00:00:03,760 --> 00:00:06,400
我们就看这里返回来的实际上有几条

3
00:00:15,500 --> 00:00:17,100
你看,两条

4
00:00:17,110 --> 00:00:17,900
两条记录

5
00:00:19,970 --> 00:00:22,450
因为在里面包含n的人就两个

6
00:00:25,200 --> 00:00:26,790
我们就不往下看了

7
00:00:35,380 --> 00:00:40,090
好,这个就是它执行的程序的示例

1
00:00:00,560 --> 00:00:02,080
然后,我们来看它的

2
00:00:02,390 --> 00:00:06,910
你看,所有人员在这里

3
00:00:07,870 --> 00:00:15,760
这是姓、名

4
00:00:15,770 --> 00:00:17,990
然后是亲属数量

5
00:00:19,300 --> 00:00:20,770
然后用n来过滤的时候

6
00:00:20,780 --> 00:00:23,770
姓里面有n的有几个

7
00:00:25,390 --> 00:00:26,940
这个有,这个有,后面两个没有

8
00:00:27,460 --> 00:00:28,130
这两个没有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值