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
这两个没有