00:00
好,那我们刚才呢,咱们也说了,我们下面要来进行测试的,是来进行一个批量添加的一个测试,那批量添加大家应该还有印象,对不对?我们比较经典的批量添加的circleql语句就是insert into表名,然后呢,Values,然后一个小括号,然后表示我们添加一条数据,咱们的多个小括号呢,然后中间用逗号分隔就可以来添加多条数据,那这个是我们的批量添加的soq,但是大家会发现在我们的map里面有这个方法吗?大家想一下。来,咱们来看一下我们的user map对不对,因为它继承了咱们的base map,所以说咱们在这个里面就能够看到base map来提供的功能,然后咱们来看已经sert开头的方法,是不是之前说过只有一个有批量添加吗?没有,那这是为什么呢?其实很好理解,因为在我们以后咱们的一个场景里面,很有可能我们添加一次数据要添加很多很多条,可能是成千上万条,可能是好几十万甚至几百万条,那这个时候我们把这些数据全部都拼到一个SQ语句中,那大家想想这个SQ去会有多长啊?
01:15
所以说呢,我们在map里面有没有批量添加的方法,并没有,而这个批量添加的方法是在哪呢?是在我们的service中,那我们下面咱们就来看一下批量添加my be plus在service中是如何来实现的。好,那我们下面咱们首先也是来创建一个测试方法,Public VO,然后testt insert more,叫做insert more,添加多个,然后user service点什么开头的方法,是添加save开头的,刚才说过对不对,然后大家来看哪个比较像啊。这个是不是应该很像,这个叫save batch,然后其中呢,是一个实体类型的类的集合。
02:02
好,所以说再起,咱们之前就跟大家说过,对吧,然后这个是什么意思,这个是批量的意思,所以说这个就是批量添加。好,下面虽然说也有BAT,但是咱们说了这个save or update表示的是两个功能,既有修改功能,又有添加功能,怎么区分,看我们的实体类对象中有没有ID,有ID是修改,没有ID是添加,所以说我们在这直接来使用这个方法就行,那其实呢,我们也能够看到对吧?然后在这个方法里面,咱们所传输进去的是一个是一个集合,那所以说我们的集合中的每一个实体类对象是不是应该来表示的就是我们添加的一条数据,对吧?所以说那我们下面咱们就要把咱们的list集合给创建出来。然后这样啊,咱们先创建一个list,它的泛型呢是user,然后list等于等于new,一个a list,好,然后我们的这个数据呢,咱们在这呢,简单的来写一个负循环,比如说负I,大家来看I呢,咱们从一开始,然后A小于等于几,A小于等于十,OK啊好,然后这里面咱们来创建一个user对象,User等于六,一个user OK。
03:22
好,然后创建完成之后,然后大家来看,我们来为其中的一个年龄,还有咱们的name来进行一个复值,然后其他的像什么email字段呀,咱们就不复值了,ID呢,咱们就通过默认的雪花算法,然后让它自动生成IDOK吧,好,叫做set name,这个name咱们怎么写YBC,杨博超,然后在这呢,给它加上一个,哎,也就是说我们添加的每一条数据都以YBC开头,然后再加上我们循环的这个次数,OK吧,好,再往下user点,然后set h,然后咱们以多少呢?以20开始,20加I。
04:02
每一次呢,然后咱们的年龄都是以20加上咱们循环的次数,然后最后再把我们所创建出来的有的对象添加到我们的list集合中,然后这个list就是我们要实现我们的批量添加的list集合,然后把list呢给放进来。然后下面呢,咱们是不是就可以来获取它的返回值了,大家看它的返回值是一个什么呀,不玩类型,那这个不玩类型表示的是不是应该就是我们操作是否成功了,对不对,比如说我把这个布尔类型呢,结果让咱们把它给输出,然后下面我们在这咱们就可以直接来执行了,来看一下最终的结果啊。好,大家来看。应该是没有问题的吧,最终咱们当前咱们的这一个结果是true,那表示我们操作成功了。然后再往下的话,然后我们所执行的circle,大家会发现是什么,Insert into user ID name age values后边有逗号吗?没有逗号,因为毕竟我们当前咱们的service中的功能,它也是通过base map来实现的,所以说base map中都没有批量添加的方法,所以说在我们的service中来实现的时候,它也是通过什么来实现的。
05:26
也是通过我们当前咱们的单个添加进行一个批量通进行一个循环添加来实现的,这个大家注意啊,好,所以说呢,我们看到的最终输出的SQL语句,每一个我们添加的每一条数据,它都是通过银色和into进行添加的,而我们当前咱们的SQ去执行了几次,SQ去执行了十次,就完成了一个批量添加的操作,来我们来看一下我们的数据库,点击刷新大家来看。没有任何问题,对不对,这个大家注意啊,好,那这个是我们service中的一个批量添加的操作,然后呢,我们在这把我们的这个注释给写上批量添加咱们执行的circle,大家注意是单个的circle尾去。
06:13
进行循环添加,才完成了批量添加的操作啊好,那我们当前咱们的通用的service,咱们就测试到这儿啊,其他的一些方法,大家想测试的话,可以自行的进行测试。
我来说两句