00:00
好,那刚才呢,我们分析了。他官方给我们提供的这个JDBC的S呢,用不了对吧?啊,那我们分析了它适合的是往这种单表里边去写。诶,可以用这个jdbc think,那现在呢,我们这个DMDS对吧,这个流里边有多张为表的数据啊,那我们没办法,只能自定义了这个think对吧?呃,而且我们要继承这个think function。是不是得是一个REACH3个方程啊,大家想。对吧,因为我们说了,那我们要把数据写到Phoenix,那起码有连接,对吧,那无论是我们去创建连接还是用一个。连接池。对吧,我们都可以有一个open方法,那如果我们直接创建。那一个边路一个连接,对吧,在open里边去创建,那如果说我们用连接池,那我们一个。
01:00
并用一个连接池是不是也就够了?对吧?啊,我们用一个连接池啊,所以呢,我们就算写这个连接池,也是在open方法里边给他做这个。初始化对吧?啊,所以不管怎么样呢,我们先把这个去写一下啊。呃,那咱们呢,是什么,我们叫。嗯,D function可以吧,咱们叫这个名字啊。呃,他呢得继承我们的什么叫rich s function对吧?好,它呢有泛型,我们看一下它类型是什么,它类型呢,里面写了一个in。那什么意思啊?是不是就说这个地方我们要给定一个输入数据类型啊,那咱们的输入数据类型是什么。
02:00
嗯,咱们的输入数据类型是什么。有大家记得吗?或者说不记得我们应该怎么去看。这个地方我们要的这个输入数据类型。是。哪个类型啊?啊,翔总说杰森这个很简单,输入数据对吧,那我们再看哪个流调用它,那DMDS调用它对吧,那我们看DNDS它里边的意义什么J3OBJECT,那其实用的就是它对吧?诶。咱们的类型就是杰森object。好,那这里边呢,我们有两个方法,一个。Open对吧,那另外一个叫invo对吧,好。这个呢,就是每来一条数据调用一次,那open就不用聊了,对吧?啊,它里边我们用来构建那个连接啊,或者构建连接池,那我们先说了,呃,我们之前。
03:04
线表用的直接创建一个连接对吧,在open里边那这块呢,我们用连接池两种方式呢,我们都用一下,之前就说过了,对吧?啊让大家周日的时候呢,回过头来把JDBC德鲁伊那块东西呢,稍微的去看一下,看了吗?有看吗?给你们留的。说让你们花一点时间。把JDBC登录一稍微的去看一眼,看了吗?看了扣一,没看的扣二。啊,就跟你们说的事情,我看有多少人做了哈。那不不扣是什么意思啊,不扣我就认为就是压根就没记得我这个事儿。啊。扣三啊三的表示根本就不知道这个事了,就就没听进去。
04:02
你室友把你的资料给丢了啊,你室友太坏了,你看卷到这种程度对吧。啊,班长,你室友太卷了。你室友把你的资料给丢了,哎,你们。就很过分啊,你们就很过分。啊,意思就是没一个看的呗。啊,就跟你们说了,后面要用都不愿意看啊,这个我不写啊,这个工具类我都不写的啊。我今天拿过来的啊,因为他就是几行代码,然后呢,添加一些参数啊,让你们去看,你们也不去看,你们是一个室友,你们的怎么男女混住啊。啊。欺欺负我是吗?好啊,那我们就reach function DM function对吧?呃,然后呢,我们去。先创建一个德鲁伊这个连接池,对吧,先把这个依赖导进来啊。
05:04
先把依赖拿进来。啊,还是往后放啊,像这种跟前面依赖没什么关系的啊,咱们就往后放,除非遇到fli或者说相关的依赖,咱们呢就放在一起对吧,好让大家去关联一下啊,关联好以后呢,我们就可以去拿这个。工具类了啊,我们就直接拿这个工具类这个呢,其实呃,如果说你看了代码的话,比较简单,其实就是一个什么呢,就是它。就这么一行代码。对吧,只不过说在这个当中呢,我们要设置很多参数。驱动名称。Ul,然后呢,连接池的数量啊,校验啊,想把参数看着挺吓人的对吧,那其实都是作为校验,最后呢,把它返回最基本的啊,等会儿呢,我可以给大家展出来最基本的这个内容啊,那什么呢?来把这个拿过来啊。叫德鲁伊德塔source斯U啊,德鲁伊的data source YouTube对吧,其实应该可以直接叫这个,呃,菲eni斯直接叫菲eni斯data塔S斯U啊,为什么呢?因为我们里边在这个工具类里边已经把参数给它附上了,你懂吧?啊,所以你叫这个也可以啊好,那我看我的依赖应该已经关联好了吧。
06:24
依赖啊,已经管理好了,对吧,没有问题了,然后接下来呢,把这个拿过来啊。其实最核心的代码我告诉你就是这么四行啊。嗯,JA康找一下这个。好啊,那四号代码呢,来看啊,这个一呢,他。对吧,那声明一个这个变量。啊,声明一个这个变量对吧?啊。啊,我们可以给他做一个初始化啊,你不写初始化也可以啊,因为我们里边肯定会去你这个。
07:04
对象啊,没有这个对象好,那接下来呢,我们看啊,首先呢,最核心的就是这个啊,我把无关紧要的给你干掉吧先啊,我先把无关紧要的给你干掉,这样呢,我们看着更舒服一点啊,其实那构建一个连接池就是这么个啊,那就直接创建,创建完之后呢,设置驱动,设置ul,然后呢,返回,返回好以后,我们就可以从这个里边去干什么。呃,拿到我们的这个。先。调用一下对吧,调用一下,调用一下之后呢,我们从那个临池当中去拿到一个什么。获得连接啊,这个是获得连接的数量对吧?啊有多少个数量啊,然后呢,直接获取我们的连接。对对。对吧,这样就用,那你就构建了这个连接,你就不用说再去drive manager.get connection了,对吧,通过连接池啊,那其实这唯一呢,就是所有的GDBC你都可以这样写嘛,然后呢,就无非就这两个东西不一样,就是你的。
08:16
驱动名跟ul,当然如果说你是类似于my circle,你还要多设置两个user name password。对吧,就是它不难啊,所以呢,嗯,准备让大家提前稍微的看一眼啊,那就不用再聊这么多了,直接拿过来就用了,对吧?啊,如果说大家没看没看到,我们稍微的看一看,对吧,这个也不难啊,然后呢,这里边无非放的就是什么呢?把这个参数放进去啊,这参数有哪些我们可以看一下,嗯,诶完了我是不是粘贴。错东西了。我我直接撤销啊,撤销回去啊,啊,我应该是把它直接干掉了,没有没有剪切下来啊,没有剪切下来导致的问题啊,那这个里边这中间第一个池子数量对吧?啊,同时会最大的连接数,这个是相当于常常柱连接对吧,那最大,因为如果说你不够用了。
09:08
你不够用了,我就要给你新创建连接,对吧,连接池,你假如说一直有人占用着这五个没人还。对吧,那我就。要干什么事?要新创建,但是最多呢,我不能无限创建,那也不现实对吧,20个啊,然后呢。设置最小的连接数。啊,等待时间,然后呢,以及。我们每一次拿这个链接的时候,看这个链接可不可用做一个校验。对吧,啊,最后呢,呃,这个等待的时候,中间test test test,这是干什么事呢?因为我们要从池子里边去取数据啊,取这个连接对吧,那取的时候我们要不要校验一下。对吧,那你用完连接以后你还要还吧。你还要还对吧,那你还。
10:00
我要不要校验一下?对吧,你要不要校验一下啊,就这意思。好好,嗯,那下面这两个东西啊,这个中间呢,都是校验,校验这个连接是否可用对吧,你不能说这个连接在里边待着坏了,坏了之后呢,我们就得想办法把它处理掉啊,换一个好的啊,因为有可能连接。它断了嘛,对吧啊,你得拿过来的时候再测一下,就这意思啊好,那最后两个是什么事呢,你看啊。跟这个值相关了。啊,跟这几个值相关,什么意思呢?你看我构建连接池的时候呢,我有五个连接长度连接池对吧?呃,然后接下来呢。不够用了,不够用了,我创建一直创建到20。好,那我创建了20以后,数据高峰期过去了,因为你只有在数据高峰期的时候。这个东西才不够嘛,对吧,好,那当我们数据高峰期已经过去了。
11:04
啊,已经过去了,那我是不是会有很多这个连接是空闲的。明白吧,有很多连接空闲的,可能忙的连接呢,就正在工作的链接可能也就这么一两个,那有很多连接呢,是闲着的,那闲着不是浪费资源嘛,对吧,你维持20个。啊,那我只要两个,那我可能维护两三个就够了,你不需要20个,我就把有的东西要回收掉,对吧,那这两个参数呢,就是。回收连接用的啊,那有两个参数,第一个呢30秒,第二个30分钟,这什么意思呢?那就是每隔30秒检查一次。好,每隔30秒检查一次,检查什么东西呢?如果你这个链接已经空闲30分钟了。能听懂吗?就是我每隔30秒查一下,诶查哪些连接。30分钟空闲了,哎,如果说你已经空闲30分钟,我就把你回收掉。因为你30分钟都没用了,对吧,我认为可以回收掉对吧,其实就是中间是设置的一些参数,为了更好的去用这个连接这个参数,对吧?其实最核心的就是我们刚才把中间这些东西干掉,看到东西创建连接池,然后构建这个连接。
12:16
对吧,设置我们要的这个参数。啊,设置我们要的参数,OK,这是第一个我们的准备工作,构建连接池对吧?啊,那接下来呢,我们可以去用这个内容了啊。
我来说两句