00:00
好,那我们刚才呢,咱们通过FOR1标签,然后来使用咱们的数组呢,来实现了咱们的批量删除,那下面呢,大家注意我们来使用咱们的FOR1标签,使用咱们的这个集合呢,来实现一下批量添加的功能啊首先呢,这个数组就是批量删除和批量添加这两个功能,咱们以后用到的还是非常多的,就比如说咱们的批量删除,大家在好多的一些应用或者说页面中咱们都看到过这个功能,然后像咱们的批量添加的话。就比如说我们以后的一个每年旅游的项目对吧,然后在这个项目里面呢,然后咱们的自由行这张表和我们的这个跟团游这张表呢,他们两个是多对多,然后跟团游和套餐游又是一个多对多,而咱们在做权限管理的时候,用户和角色是多对多,而角色和权限也是多对多,那所以说既然是多对多,就涉及到了中间表,那我们在添加我们的主表信息的时候,我们就有可能去添加我们这两张表之间的关系,也就是往中间表中去添加数据,那因为它是多对多,所以说一次性我们可能要往中间表中去添加多条数据,那这个大家注意啊。
01:13
好,那所以说这个时候咱们就需要用到批量添加的功能,好那下面呢,咱们就来看一下来,首先杠星星回车是通过list集合,然后来实现咱们的批量添加的功能,行,大家来看返回值int类型叫做insert more,然后by list,好括号里面咱们应该传过来的是一个list集合,泛型是E,那咱们就叫做EPS就行啊。啊,然后咱们来复制一下。放到我们当前咱们的映射文件中,好,那我们该怎么去写呢?首先是咱们的insert标签ID要跟咱们的方法名呢保持一致。然后下面咱们就可以来写这个circle语句了,Insert into,然后表名提下划线,E撇,然后values。那大家说我们说了这个批量添加该怎么写,是不是一个小括号来表示我们所添加的一条数据?
02:16
那所以说我们现在咱们的循环题里面来写的是不是应该就是咱们的小括号,以及小括号中的内容对不对,所以说咱们需要把FOR1给写到这儿,我们需要来循环的这个集合呢,那我们现在也不知道该怎么访问,那所以说呢,咱们就这样呗,咱们就用参数名来写访问一下,那能访问到就访问得到,访问不到的话,My be是不是会告诉我们,我们应该用什么来访问对不对?好,然后at item叫啥,就叫emp。能看懂吗?然后下面的话,这个地方咱们需不需要用separate呀,需要吧,因为咱们添批量添加的时候,每一个小括号中间是不是还需要用逗号进行分隔呢?对不对?哎,这样的啊好,那下面大家来看怎么写呀,小括号,然后第一个是nul,然后第二个是不是应该是我们当前咱们的员工姓名,那员工姓名大家说咱们应该怎么访问,你能不能在这直接EP name这样去写啊行不行?
03:22
不行,为啥呀,因为我们现在咱们来访问的这个数据是不是应该是从哪来访问,应该从我们这个集合中所循环出来的每一个员工中去访问,所以说在这儿大家要想去访问的话,应该是先访问到集合中的各个员工信息,然后再来访问员工的员工姓名。这个点看好再说了,大家想一下。如果你真的这样去写的话,那你想想咱们什么情况下才能这样去写,这种你这种写法来表示的是什么,你直接传过来一个实体类对象,我们是不是可以通过属性名来访问属性值对不对,对吧?那如果你真要这样去写的话,那你又没有想一下我们所传输过来的参数符合不符合这样的一个环境呢,对不对?哎,这个大家看好啊,所以说我们在这应该写的是emp.EP内幕,然后再往下。
04:20
然后再往下井号大括号emp.a结,然后井号大括号emp.sex然后逗号井号大括号,井号大括号是ep.el email OK吧,然后最后一个还有个dad dad咱们就给它设置为嫩呗,那嫩的话就表示没有部门呗。是不是OK啊,大家注意,咱们这样写就行,那我们现在把它给写完之后,那我先问大家一个问题,大家说咱们在这能用open和close吗?能不能。能用open和close,不能,你要注意这两个是什么效果,这两个是在我们所循环的所有的内容外面加上开始符和结束符,而我们现在咱们的这个小括号来表示的是什么?表示的是我们所循环的每一次的循环体外面都要去加一个小括号,所以说在这咱们是绝对不能来使用open和close的啊,这个大家注意。
05:18
行,那我们就可以来测试一下了,对吧,来复制。现在大家来看,然后这个咱们叫做test insert more inert insert more,然后by list OK,行,然后大家看一下,我们现在咱们先来创建一个集合,然后咱们可以先来创建几个员工信息,Empp ep1等于六一个EMMP。好,然后null,然后这是A逗号。啊,然后呢,这个是23,然后这个是南,然后这个是邮箱地址123。
06:01
123艾特QQ,然后点com OK行,那我们就获取完了,然后这是EMP2,这是EMMP3,然后A1A2A3行,就这样就行啊,然后再往下的话,然后A2AYS叫做a risk as list大家应该都见过吧,是不是这个时候EP1逗号EP2逗号e mp3,然后咱们就可以直接通过我们这三个对象,然后来创建我们的一个集合了啊。好,大家来看,行,那我们现在咱们的集合就已经创建完了,然后下面咱们来调用咱们的map map点叫做insert more by list这个方法把EPS给传进来就可以啊,好点sot直接把它的返回值给输出,它的返回值就是受影响的行数,那我们先来看一下这个SQ去能不能正常执行啊。来,咱们来一个执行,大家会发现报错了,为啥报错呢?跟我们之前访问数组的时候是一样的。
07:07
访问数组的时候,咱们直接通过参数名DS来访问的,而我们刚才咱们来访问集合的时候,是不是也是通过集合的参数名叫做EPS来访问的,对不对?那所以说咱们应该用什么访问呢?叫ARG0也行,Connection也行,List也行,那可见如果咱们只传输过来了一个什么list集合,那咱们的my be体是不是仍然会将它放在一个map集合中,以三种方式来存储,List为键,集合为值,Connection为键,集合为值,A0为键集合为止。那所以说现在那我们也不知道,那如果我没用过,我也不知道该怎么访问,那所以说这个时候还是建议大家干什么来自己手动设置一个命名参数,你想怎么访问就怎么访问就可以了。
08:01
OK吧,所以说我在这设置了它的命名参数叫做emps之后,那我们现在是不是就可以通过EPS直接来访问到这个集合了,是不是啊,这个大家看好啊。像下面我们在这,咱们再来一个执行。好,大家看一下有问题没有,没有任何问题吧,是不是啊,然后下面我们在这咱们再来一个执行,大家看这三条数据,添加成功了没有,添加成功了,好所以说呢,这个大家注意,这就是我们通过一个集合,然后来实现咱们的批量添加的功能。好,那我们也可以在这把咱们的这个for each里面常用的属性呢,然后咱们来写一下,就比如说第一个咱们常用的属性叫做connection,然后这个东西是用来干什么的,大家注意它是用来设置需要循环的数组或集合,OK,然后第二个呢,叫做item,然后这个来表示什么来。
09:04
好,那这个item来表示什么?Item大家注意,它是用来表示咱们数组或集合中的每一个数据,哎,行,然后再往下,是不是有一个叫做separate,这个东西是干什么的?大家注意,是我们的循环体之间的分隔符。还有一个叫做open open来表示什么?Open来表示的是咱们的for一起标签,For一起标签中啊,For一起标签所循环的所有内容的开始符。好,然后呢,Close的话,那就是结束符呗,Close close close close啊,大家注意,目前的话就我们well ID in这种方式,大家可以用open和close,其他的情况我见的也不多,所以说大家注意啊,这东西的话,一般情况下咱们也用不着啊,你除非是用到了咱们的well ID in这种方式实现批量删除的时候,咱们可能要用,当然了,你就算不用也可以实现呀,那小括咱们是不是可以自己去写对不对,好,然后呢,这个标签所循环的所有的内容的结束符啊结束符好OK,那这个就是我们的动态circle标签中的for,那其实这几个标签我们以后比较常用的啊。
10:39
If well,还有就是咱们的for each,大家注意,当然tri呢,也有可能会用的很多啊,这个choose when otherwise的话,然后大家注意它相当于if else if else对吧,然后这几个标签就是我们动态circle里面,然后咱们常用的一些标签了啊好。
我来说两句