00:00
那么C3P0呢,咱们就说完了,那说完以后呢,我们就想着去应用一下,毕竟呢,你这块已经能够呃使用连接池技术呢获取一个连接了,那我们就想着对咱们一开始写的这个叫呃GDBCUU呢进行一个重构啊,使用连接池技术,而不是我们自己呢,手动的创建的一个连接了啊那这块咱们再这样一下啊嗯,我点右键再去新建一个包。这个我们叫四,还叫四啊,叫YouTube。在这呢,我们再重新再创建一个这个,诶,又生成一个这个文件。行,这里边我们再创建一个啊j bc us,那这呢,我们就相当于要使用一下数据库连接池技术了,那那这边我们写这个方法啊,Public。Static获取的是一个连接,Get一个connection,这后写成一了。这样子。来ctrl shift o一下搜下。好,怎么做呢?哎,把刚才呢,我们的这两行代码CTRLC一下。
01:05
粘过来return一个诶它诶这个异常我们也先呢去诶S抛出好这就选好了,哎这个呢,咱们使用的就是诶C3P0的数据库连接池技术啊。哎,行,那通过这样一个方式呢,我们就能够获取个连接了,那这个靠靠谱呢,测试一下啊,咱们随便找个例子,比如说咱们在这测试的时候。这是隐四的,咱不演示隐四了,咱演示一个查询吧。这个啊,诶这里边这个GDBCU呢,咱们用的是一开始这个一里边的。哎,这个里边的啊,哎一里边的这个当然是没有问题了,那现在呢,咱们给他先把这个可以先跑一下。
02:00
哎,这是没问题的,这是咱们自己获取连接的啊,那现在呢,咱们用刚才呢,咱们写的这个c.P0的这个是我们放到诶这个四里边的。等他。嗯,Get connection啊,他这个其他的这个位置呢,就跟着都报错了是吧。其他位置跟着报错了,我们因为每个都报错啊,那我把原来的这个连接里边的使用最朴素的这个方式,咱们还给它留着啊,诶CTRLCL一下粘过来。哎,我还粘到这里边儿,放到上面了就。哎,就上面你该用的呢,这块还用。保存一下。嗯,这里边儿盖的connection。啊,关闭的方法也得拿过来啊。嗯。来CTRL一下。那这个它往后移啊,好保存一下,好这块呢就不报错了,咱们现在呢,就拿其中的一个进行测试一下就可以了,Test get这个customer by ID,这个我们改成这个一。
03:11
诶保存一下,诶点一下进来,这上就我们使用这个C3P0的,还有数据库连接式技术这块双击执行。哎,没问题,诶相当于这块呢,我们就用的这个连接池来实现的啊,诶感觉上应该是OK的,那么回过来呢,我们还要说一下,说这个写法呢,好吗?或者有没有什么问题呢。哎,其实是有的,我们需要呢,改一个操作,把它放到上面。哎,那大家想一下为什么。啊,先改一下啊,放到上面以后呢,它这块报错了是吧?哎,因为你这是个静态的,哎,我们也不希望代表直接访问,所以我写一个private。这样为什么要拿出去呢?上号。
04:05
调调怎么着?哎,我在里边调这个跟我放在里边的区别是什么呀?诶对,区别呢,就是我要放到里边,每次我们只要是调get connection,我们就会new一个啊,而我们放在外边是静态的,自始之终你可能呢,在各个位置使用我们这个工具类里边这个方法啊,你要有100个位置同时要获取连接,都调了一个方法,我们现在用的是不是都是唯一的这个CPDS对象呀,那就意味着我们这叫诶C3P0的数据库连接池,这个池子不用造很多。池子一个就够对吧,你要是原来的方式,你要放里边,还不如你自己定义的那种方式呢,咱们自己定义的方式好在那你是造了一个连接是吧?哎,造了连接你不用了,你可删掉了,现在可好啊,只要呢,获取一个连接,我造一个池子放上,比如说十个,哎,当你这块不用的时候呢,这个池子不要了,然后再获取连接,再造个池子是吧?哎,这是我们说这个输据库连接池,这个池子一个就够,哎是池子里边呢,可以有很多的连接,所以一定要把它拿出来。
05:16
啊,保证我们这个数据连接池只提供一个就可以了啊。诶只需诶提供一个即可行,诶大家要注意这样一个小细节问题,好这个呢,你调完以后再回过来,咱们把这个再测试一下啊,这时候其实是不受影响的。啊,还是这样个情况,OK,这呢,就我们说的叫C3P0的,诶数据库连接池技术,那么后续的这个,诶DBCP和这个德鲁伊啊,其实呢,类似啊,可以来实现。
我来说两句