00:01
我们刚才看了一下,用这个for each呢,我们做了一个这个查询。那么这个for each呢,也经常用于我们这个批量保存,哎。做咱们这个批量保存。这样的话呢,我们来写一个保存方法,我要呢一次性的保存很多数据,好,我们来到这个do接口。好,我们在这里边呢来定义。我们来来一个保存方法。那就叫按的EPS。所有要保存的员工呢,我们用list。包装每一个employee。这就是我们emps每一个要保存的员工,为了我们在那一块取值方面,我们可以给他使用ant PAR注解,哎,来取一个名字,我们就叫EPS。我们来定义一下这个方法。
01:05
走。保存insert。Insert insert呢,我们这个ID是方法名,好参数我们不用写了,那么接下来来看。如果在我们这个MYSQ中如何进行,咱们保存多个。我们呢,把这个SQ语句可以写一下。好,Insert into我们这个TB杠,Employee这张表。那要插入last name子段。Lastname email字段以及真的字段,以及它的部门ID,好,Values。咱们这个值呢,就是我们传过来的每一个值,比如last name,我们传了一个。接下来呢,我们email Tom。
02:02
At at硅谷。然后呢,我们再来传一个真的啊零或一好,还有我们这个啊,部门ID1号部门,如果我们还想要更多的数据。直接可以继续逗号小括号,哎,比如呢,我们来传一个Frank好。然后呢,我们来,嗯。他的。Email来写上。感控,还有它的这个性别,以及他二号部门等等等等,我们要插入多少就这么写,哎,来保存。走,这样是成功的,也就是说呢,我们可以这么来做批量插入。我们把这个SQL语句拿过来。好,Circleq语句拿过来,但是呢,我们说在my circle中,我们可以values哎来做,那么每一个值呢,就应该是取出来的。
03:02
那么这里边保存了一个EPS的list,所以说呢,Y的整个内容,我们需要历。For each来,遍历出来。遍历出来呢,哎。每遍历一项就是一个小括号,里边装一些内容,完了以后呢,咱们两个小括号装的所有内容之间可以用我们逗号分割,哎,这就行了,我把这个删掉。好,每一个内容呢,我们可以拿出来这个Tom,哎,我们这个名字取出来。号大括号,那么呢,就是我们传过来的拉。但是呢,我们说这是一个employee集合,所以说我们先得把集合遍历出来,取出每一个employee元素的拉内,所以说呢,Collection这一块取我们要便利的emps。然后呢,便利出的每一个元素。假设我们交给EP,好。
04:03
那么我们要取当前元素的拉斯内就需要。如果是当了,咱们井号大括号EP,这是取出emp对象再来点它的拉。Name就能取出它的啊名字了,那么接下来剩下我们也写上好EP的啊。咱们这email。以及EP的针袋,我们都取出来。井号。大括号MMP的。针带哎,包括它的这个部门号,我们也取出来。他的EP的咱们这个部门呢,在我们employee对象里边。Employee对象,诶我们的部门号呢,是employee对象的de PT属性的。ID,所以说呢,我们得取长一点,哎。ERP的de PT的属性的属性好,我们这么来取。
05:01
好,然后呢,我们来测试一下这个保存方法。嗯。这是一个。太。Be。好,我们来在这里边来测试,批量保存。还是一样,我把这两步呢,先拿到啊,拿到circs factory,再拿到CIRC对象,然后呢,我们把try finally写上。好,我们在这里边来进行保存,Open session第2GET member拿到我们这个member,叫我们叫employee。动态circle的。好,就是他。然后呢,我们调用这个map的保存方法。Member点要保存呢,我们传的是一个list的employee,那么我们呢,就把这个构造出来。
06:07
三分之EPS等于又一个。好,我们来给这个里边保存一些数据,EPS点添加第一个我们要保存的员工new employee,好ID呢,我们不用管好。名字我们来给上,哎,比如呢,我们就叫。把他的email也来。拿上email呢,是我们这个。第二。硅谷。好,还有真的咱们这个啊,性别零或一啊,我们这个呢,构造器还少了一个。我们再来添一个构造器。我们还要给里边填部门呢。
07:01
我们来。使用有参构造器把这个部门的加上。好,然后呢,我们就用最后一个,我们还得用一个department部门。而这个部门里边呢,我们要附上部门ID,因为这个ID我们最终要取出来。我们在department里边给它也添加一个无参构造器。再来添加一个有参,是用ID构造的,有参构造系,方便我们使用。来new它的部门,假设呢,这就是一号部门,好,这是我们第一个数据,我们准备好了,接下来我们第二个数据,哎,比如呢,我们叫L。啊。它是零。我们呢,就准备上两条顺序,我们来测试好添加,添加完了以后open session commit。
08:01
用完以后我们把。这个session关掉。好,我们来测试这个保存。走。诶,运行成功了,我们来看这个SQ语句,诶它也遍历出来了,我们每一个数据造数据库里边我们来看一下。好的,Smith len也都有啊。所以说呢,我们这个也就是说for each可以用来进行我们这个批量查询,我们可以这么来做。来到这儿好。这是呢,我们第一种这么个做法,而且呢,我们来说一下,如果我们要保存多个,还有另外一种做法。那么这个呢,批量保存。我们呢,可可以,哎,咱们这个for each。哎,便利。
09:00
咱们这个呢,关键是它支持values这种语法。Values,哎,小括号小括号小括号,让它无限变利就行了,哎,我们只有马SQL支持。支持我们这种语法。支持。那包括呢,我们也可以再用上另外一种。把这个保存呢,我们来。注意,我们还可以这么来写。Insert。Insert。我们还可以这么来写,发多条circle,哎,都是这个保存insert。土。吐胎,然后呢,我们这个Y6。我们要取的值。比如呢,我们就先取出来。这是我们第一个员工,我就这么保存,第二个员工把这条circle,哎,我们遍历再写一遍,两个circle口之间呢,用分号分割,其实这么来做也行的,好,我们就来做它,把它删掉。
10:13
我们也可以用for each。For each,我先便利所有的员工,EMS。每一个员工呢,就是我们EP对象。然后每次便利一个员工,我就准备一条完整的circle。好。然后呢,Circle语句与SQL语句之间啊,为了防止多一个封号,那么。哎,我们用分号分割。那这种我们来看。让他多发几个circle。再来测试。走。首先呢,他准备的这个SQL语句是正确的,而我们要说的这种方式,哎,他们之间用分号隔开,我们这个现在呢数据库,哎,他说有语法异常,还不支持这种,我们需要开启让他数据库支持这种模式。
11:07
来到我们MYSQL这个文档里边。My circle可以支持这种一次执行多个S。好在我们这个连接器这一章节,哎,Connect接哎JDBC引用往下翻。啊,这有一些连接属性,我们给他加一个连接属性。连接属性呢,就是这个allow Mori,哎,允许一条语句中有多个分号来分割多个语句。它默认呢是假的false,我们在连接属性上加上这个值。DB。问号来加上这个值。哎,让它等于出现在呢,我们这个多个circle,我们来测试。哎,现在这样也是行的,哎,我们来看保存了几个。90好,十一十二也进来了,所以说呢,这是我们买circle可以进行这么啊批量保存的两种方式。
12:08
这种方式。方式。需要。需要啊,数据库连接。属性。哎,这个。的支持。等于。这两种方式呢,大家可以都看一下,那么我们呢,其实都推荐用第一种方式,这种方式呢,大家有知道就行。用这种方式。
我来说两句