00:00
好,刚才呢,我们是。将这个数据打印到控制台了,我们测试呢,没有问题啊,啊对,就是问问啊,就是问问,象征性的问问。被压倒在床上了,你在床上躺着听课了吗?好,那这边我们要进行入库对吧,比方说像数据我们得写到里边啊,就是说I think好,那我们想啊,这个地方呢,I think。之前。注意大家是不是学过一个,这个叫JDBC,还有印象吗?有阴样的,给我扣个一,我看看有多少人还记得那个JDBC,我们往penix去写,不是也通过JDBC的一个连接方式吗?对吧,0.5啊,记得一点,记得这么多东西,但是写可能不会写了,对吧。啊二啊,蒋总不记得,钟总不记得啊,孙总不记得啊,不记得还挺多的。
01:06
记的名字对吧?啊不会写了,好,那反正有这么一个GDBC的think啊,那我们想啊,这边的gd bc think就这样子的JD bc think啊,但是我可能我我没导那个啊对,没导那个依赖没导那个连接器啊嗯,我看一下JDBC我看有没有导啊think啊有有有在这对吧点think。啊,填think这个当中呢,要传的参数,第一个circle,第二个是statement build,也就是说circle里边呢,要添加问号。对吧,添加问号,然后呢,在这给问号的数值,然后是连接参数,那我问一下大家啊,问一下大家这个地方我们能不能用这个呢。
02:03
不能啊,陈总说不能,其他同学呢?那我Phoenix不是GDBC吗?哎,陈总不仅回答了不能,还说了理由不确定问号的数量,对了,因为我们想啊,我们是不是有很多种不同的这个维度信息啊,对吧,那如果说要用JDVC的话,这边呢,我们得写一个什么ABS。Into key表对吧,然后呢,Values。啊,Y6,类似于呢,我们要做这样的事情。啊,我们要做这样的事情,好,呃,但是呢,有一个问题在于,那这个Y64里边呢,我们明显要放什么。问号吧,对吧,啊,要放这个问号,那你告诉我你这个地方问号,那第二个参数注意啊,第二个参数。
03:05
第二个参数叫statement build,它是不是给这些问号赋值的呀?啊,那也就是说这个四个语句呢,得写在外面,得写在外面,那你告诉我这个东西。有办法确定吗?是不是每一个维度表它可能字段的个数都不一样啊,那个数不一样,你这个问号写几个呢?不知道对吧,啊,而且呢,这个JDVC think这种方式,它只能把so写在外面,所以这种方式怎么样不行不行,那怎么办呢?啊,也就是说这里边呢,并不能用JDBCS,那怎么办呢。那我们只能怎么办了?C都不行,它有有吗。
04:04
自定义对了啊,就只能用自定义了。啊,只能自定义了,所以我们之前说了这个地方,我们在写的2/3,还有1/3,因为这后面两个呢,都要我们要自定义啊,就写出去的东西呢,要自定义,因为没办法确定对吧?啊所以呢,我们到这来写一下啊这个地方。到ABB方程里边,我们再来一个。叫。D I think方式。维度性的一个方式自定义,好,呃,那它呢,是不是得要继承或者说实现一个什么内容啊,那这里边你告诉我应该要。这个地方I think,它是不是要有一个think方程,对吧?要一个think方程,好,那这是接口的接口,那我们是要去实现这个think方式,还是说有一个其他的方式可供我们选择。
05:07
想想看啊,我们这块呢,是往。Phoenix去写数据。对吧,那有没有更好的性格方式可供选择?对了,我们要用的是REACH4个方式,因为reach呢,它有生命周期方法,所以我们可以在生命周期方法里边去创建连接,对吧?啊把连接呢统一的用这一个就好了啊,那我们可以看看说叫H啊,那这里面呢有个reach reach呢它是一个抽象类。啊,它是一个抽象类,所以呢,我们只需要去继承它就好了。在这边extend记账单,呃,它的类型呢,注意这个地方,刚才我们看到它是不是一个瑞是一个硬啊。
06:02
对吧,那你告诉我这个类型是什么。对于我当前的这个think方式而言,我们的输入是什么?呃,对了,同学还记得啊,那主要看我们流吧,流啊流呢里边是接3OBJECT啊,是接3OBJECT,所以呢,我们的输入数据就是这个JS object跟流来的对吧?好,这个包呢,我们导一下,呃,那接下来呢,我们这个里边要去写方法了,第一个生命周期方法,用来初始化连接啊,那还有一个in work方法,那这是数据对吧,数据本身,然后呢,往外去写,往外去写这个数据。好,那之后呢,在这个地方,我们只需要用一个DMC的方式。
07:00
就好了,对吧,所有东西呢,在这里边去完成啊,在这里边去完成行,那接下来呢,我们只剩下它来做一下啊,首先在外面要声明一个连接private,然后呢,呃,连接。Connection对吧?Phoenix连接还是一样的,加载驱动点for name驱动g more con。点drive对吧,驱动,然后呢是connection,重新做一个赋值drive manager.get connection,然后呢,把这个j more config里边的一个so传进去啊,那这样的话,我们就获得了一个连接,我们就获得的连接,那接下来我们就把这个数据写出去啊,那注意那有没有同学告诉我这个Y6长什么样子。这个value的格式是什么?因为接下来我们要对它进行处理。
08:02
我们要处理这个Y6数据,所以我们一定要。知道他长什么样子。他在长什么样子?字段名字段指长这个样子吗?仔细想一想啊。对,张总说。库明表明数据before type think table没问题啊,孙总,你这边少东西了啊,字段名字段值只有这个吗?那你想想看,我们之前打印的东西,我们打印的base DB打印的在这。对吧,艾,这个这么多注意就长这个样子吧,对吧,这是我们之前打印的,好,那我们把它拿过来。放在这对吧,折叠一下啊,它就长这样子,大家注意一下啊,并不是只有数据啊,只有数据就错了对吧?好,那下来我们插入数据操作呢,这circle呢,Circle应该是什么样子。
09:12
Circle往菲尼克斯里面写的circle语句。是什么呢?还会写吗?往克往菲尼克斯里边写的那个S语句啊,我们要把数据写出去吗?而且你要注意有的数据是更新。有的数据是。Insert。啊,阿色的没问题,其实我刚才都写了对吧,我刚才都稍微写了一下啊,就那个搜索语句呢,是阿的。Into表明对吧,表明DB.tn好,然后括号,括号这个地方ID逗号TM内好Y64对吧,括号。
10:08
这个地方应该是什么1001是我们数据本身吧,点点点逗号点点点啊类似于这样子的对不对。对吧,那你这个地方有几个字段,我这个地方就有几个值嘛,对应的就是来自于凹的这个数据里边的。有没有问题,这个搜狗语句有没有问题。没问题吧,这个搜索语句主要在于菲hoeni斯啊,它是把update跟音色的数据呢,音色的这个两个操作合并了,对吧,主要在于这个框架而言,这个框架它就是这样子的,它的新增和修改都是put同一个,所以菲斯在做这个语法的时候呢,它也给它统一了。
11:01
啊,他也给他统一了而已,是这个意思啊好,那接下来这个都有了,接下来我们就可以去写我们的数据了啊呃,那第一步呢,连接我们已经获取了,接下来就是circle,然后预编译对吧,第一个获取circle语句,然后接下来。预编译蛇口。啊,预编译circle对吧,就是正常的,然后编译我们这个地方就直接把这个circlel拼接完整就好了,啊直接编译,然后执行查询。啊,不是执行查询啊,执行插入写入对吧,写入操作插入操作啊。啊,就是这么三个走啊,那第一个我们要去获取这个搜狗语句。Upset。Circle,好好,那这个地方呢,我们写一个返回值,这个是有得有返回值了,对吧,叫。
12:04
烧烤。好,呃,那我们想一下,我们要生成这个思维语句,我们需要传什么参数呢?你想一下,我们要获取这个circle语句要什么参数,就这些东西要哪个参数啊?要把谁传进去?Table name key values。啊,Table value没有问题啊,呃,那我们的table是不是这个呀。对吧,好,Think table,好,那我们先获取Y6.getstring啊,然后这个里边呢,我们传的是S。Table啊,三个table好,接下来这个KY6斯,KY6斯是不是实际上就是这个after。
13:09
对吧,就是我们数据本身data啊,有同学说data没问题啊,是不是就是这个after。对吧,啊,都在这个里边啊,都在这里边KY6斯kiss来自于这嘛,ID内52对吧?好,那这个地方呢,我们就直接把它传进去啊,那就Y6.getjobject,用j object更好处理一点,我们还是叫after好,那通过这个呢,就可以得到一个circle,之后呢,预变译circle就是connection。点statement,然后呢,把这个after进去。2V得到一个prepare statement之后呢?执行这个写入prepare statement点。然后呢,我们当然你在这边可以批处理,可以批处理对吧?啊,也可以直接update啊,执行这个操作啊,啊那这个就搞定了,待会儿呢,我们会抓这个异常啊,到时候再说,那接下来呢,我们实现这个方法。
14:05
这方法啊,那这个四个语句呢,长这个样子对吧,我把它拿过来啊,就是最终我们的返回值呢,应该长这个样子啊,那我们去拼接一下啊,拼接一下前半段呢拿过来。好到这after to,然后呢是一个库名对吧,拼接上库名,库名呢在J末con.sc啊,然后加上我们那个点,加上表明think table,好,这块搞定,再拼接上我们的左半边括号对吧?然后呢,这块比较复杂,呃,那这个东西怎么拼呢?这个是不是把K拿出来,我们之前是不是演示了在这个里边这个数据啊,这个数据是不是有K和value啊。对吧,好,那我们把这个case和values拿到set。
15:04
得到一个K,然后呢,Data点。Values,好,拿到这个values。啊,那也就是说原本这个数据本身呢,是这样子,这个data塔呢,长这个样子,我们把它拿过来啊。就是data。但是呢,现在我们把它的K拿出来了,Value拿出来了,呃,那我们是不是要遍历这个k set,然后呢,拼接。Idm,同样的values呢,也要做这个事情。对吧,也要做这个事情,好嗯,那这一块是不是要写一个循环了,对吧,我们正常写一个循环,然后呢拼接啊,但实际上呢,在Java当中啊,Java当中它也有个工具类,哎,Skyla里边这个东西用过吗。假如说这个sky he said,它有一个方法叫什么?
16:04
然后呢?按逗号分割,它出来的就是什么东西。Skyla里边这个东西还记得吧?他出来的。是什么?就是一个字符串,然后ID对吧,逗号TMM。记得吗?记记得这个方法吗?叫make。用过吧,对吧,它就相当于这个啊,得到这个值好,那Java当中有没有呢?有啊,Java当中也有这种操作。Skyla永远的神啊,并不是只是Java你不知道而已啊,你不知道你就就觉得skyla是永远的神啊。对吧,是你菜啊,不是SKY厉害啊,Java也可以啊,Java也可以啊,叫什么呢,叫STEM。
17:03
啊s.join啊,然后呢,把这个K赛扔进去,逗号啊,逗号拼接。这就好了,这个就等于它。一样的啊,账号当中也有这个工具啊,叫YouTube啊,一个工具类,因为面向对象的嘛,所以它不是自己直接就make spring了啊,它并没有这个功能,对吧,他是用的一个。啊,叫string是可以做到这个事情的啊,并不是说只有skyla能够做到,呃,这个东西呢,照应出来之后也是出现的这个结果啊,就是他OK吧啊这个要清楚一下啊,就是跟这个skyla一样的啊,不要怀念skyla对吧?啊,Skyla只是个弟弟啊,你看有Java才有盖对不对?好,那这个呢,拼接好了,拼接好之后呢,应该是右半边括号吧。对不对啊,那这个呢,平行注意不要漏了啊,右半边括号啊,然后呢,这个地方有一个Y64。
18:00
啊,Y64,然后呢,左半边括号对吧,接下来我们是不是又要去拼接一个Y6了呀,拼接一个Y6那一样的人,他说很简单了状语对吧?好Y6呢,嗯,这个地方我们写Y64,然后呢按逗号分割。好,那这样就搞定了呗,对吧,就搞定了,搞定了之后呢,我们在这边也打印一下这个这个语句啊。打印一下我们的这个语句。对吧,这是执行写入的搜狗语句啊,在这对吧,呃,那如果说这个prepare statement。右括号,嗯,啊对,还有最后这个括号。对对对对,还有一个什么右半边括号啊,不能丢了,对,感谢提醒啊,来你看这个就是不一样,是不是对右半边括号啊也要有。好,那这边打印,但是呢,这个东西我们可能要干什么事啊,所以大家要抓个异常处理了,对吧,那ctrl out加T。
19:01
Check out finally。啊,拆开这翻啊好,那这个最终我们要把这个提出去,要把它做一个关闭。然后再来这个不对吧,Finally当中我们做一个判断,If prepare statement啊不等于那啊不等于那的话,我们prepare statement close。对吧,啊细,那你以为呢,你像这个向总蒋总,那必须细呀,是不是好,那这边呢,一常呢,你要正常想自己抛一下就抛一下啊,要不抛自己打印这个数据也可以啊,它也会打印出来这个异常信息,对吧?啊那到另个为止呢,咱们就搞定了,但是我想问一下大家啊,这个东西,这个搜索语句能不能写入呢?它对不对呢。我可以告诉你这个搜索语句其实有问题啊,你比方说我给大家看一下up,刚按按照刚才我们所写的是不是这个up into。
20:02
然后呢,库名在这点表明对吧,好,然后呢,这边。Connection好像没有。Commit啊,其实可以啊,当家手动提交一下也行啊,手动提交一下,等会我们说这个事啊,我们先说这个ID TM name对吧?好,然后按照我们所写的应该是Y64,然后这边呢,应该是一个11,然后这个地方写什么写什么艾德规国,那大家是不是发现到问题了。有没有发现问题,就是按照我们拼接出来的这个生语呢,长这个样子。这个样子有没有问题啊。我差对吧,好,那我们执行啊,执行报错了啊,报错了,报什么错呢?他说类型缺失一类型不匹位对吧?啊,你第一个不能够转化为这个work差啊,所以咱们的思维语句得是什么样子,得是这个样子。
21:15
是不是应该长这个样子对吧?好,那我们再执行这个就可以了。C的心。From,这个表我们给大家看一下啊。这个是不是就写进来了对吧,写进来了也就是说少一个单引号,那也就是说刚才这个增语句呢,错了,这有一个什么单引号。那完了,那这怎么办呢?对吧,这个地方刚才少写一个单引号是不是,嗯,那我们拼接的这个东西就有问题啊。那那怎么办?你别讨论细不细了,那现在怎么办,这有问题呀,那怎么办呢,还在666是吧。
22:12
那我们要解决这个问题啊,那怎么办?有没有同学有什么好办法?想不到是吗?想不出来这个应该怎么玩。Y64。单引号杠,单引号拼接,这个前后自己加啊,大概我能听懂啊,能看懂这是什么意思,行啊,那确实应该这样做。
23:06
对对对,先先看啊,比方说我举个例子,这样看的更清楚一点,比方说它还有个AA,还有个B例子呢,那么同理,我这边逗号,然后呢,单引号点点点,然后逗号单引号点点点是不是应该长这个样子,对吧?因为四个字段,那后面呢,我们有四个1234,那这个时候我们看啊,我们多个数据,这个数据这个点点点啊,这个点点点部分是不是这个。是不是这里面提供的。对吧,是这个Y6斯提供的,好,那接下来我能不能把这个数据看成是以单引号逗号,单引号整体作为一个分隔符。我拿这个东西作为分隔符不就好了吗?对吧,那也就是说这个地方我拿单引号逗号单引号作为分隔符,那确实这个中间的解决了,但是一头一尾是不是还得有,所以在这个括号这加一个单引号,在结尾括号这加一个单引号是不是就好了。
24:06
啊,做了一个骚操作对吧?啊就本来逗号分割,但是呢,我们看作以单引号逗号单引号分割。是不是就可以了。对吧,啊,就跟刚才三位同学说的是一样的。啊,是一样的对吧,我们可以把中间的整个的,把这个当做一个整体作为分隔符,对吧,你字段不是Y6丝提供的嘛,对吧,那把它当做整体就好了,对吧,那这样的话呢,咱们就能够解决掉这个问题了,好,刚才有同学提到关于这个commit的事情。啊,关于这个commit的事情,其实最好是一下,为什么呢,我给大家解释一下啊这个地方,呃,My circle呢,一般我们要做这个连接,不去做这个事,对吧,Connection点开,点开之后CR看它这个时间内。啊,看它时间内,首先呢,这边有一个Phoenix对吧,还有一个这个GDBC啊JDBC的一个connection,呃,那我们看这个找my circle的,但是MYSO这个地方my circle啊在这这有啊对,My circle在这对吧?呃,那我们点到这个my circle里边,我们来看一眼啊。
25:22
呃,然后呢,我们来搜一下。Auto commit,哎,这个地方没有。我先把这个写一下啊,看A看C,呃,它不在这个接口里边,我们给大家去找一下。JDBC啊,这个是买so的一个时间类,对吧,我们点到这里边啊,这是买so它的一个时间类,我们点进来看一下,我们点开看一下,诶,我ID这个点进来。好,然后呢,我们搜这个auto commit啊呃,来看它的默认值,注意当前是谁呀,是我们my circle对不对,是my circle吧,My circlel自动提交,怎么样为注啊为注好那接下来退回来啊,在这边CTRL加H看一下菲斯。
26:09
我们点到这个菲牛斯这来对吧,好。Auto commit。我们找一下连接。来看这个是Phoenix connection对吧,它里边的默认值是什么?False啊false,所以要不然呢,你就在这儿去设置一下,对这个connection。点set auto commit。设置为一个处是不是也可以对吧?啊或者说呢,嗯,咱们另外一种方式,假如说上面没设置,我们在这点干什么呢?Commit手动去提交一下是不是也可以。对吧,啊,手动提交一下这两种方式啊,因为它默认的菲尼克斯里边默认的啊都是这样,当然你可以做成,呃,这个有一个好处在于什么呢?在于。
27:01
它可以直接做这个批量提交啊,因为毕竟往A写嘛,他想封装成这个批量提交的方式,对吧,所以它默认的就是force,然后呢,你可以at be be统一的去commit啊,统一的commit啊,也就是说这样的方式啊,好,这是我们所看到的那两种方式啊,一种呢,下面commit,另外一种呢,在这去set out commit,等于true啊都可以啊,行,那到这个为止,我们将数据就写到了at,这个事情就搞定了,对吧,等会我们统一做测试。
我来说两句