00:00
那接着呢,该写啥,第三步就该写啥呢,一般到这个时候啊,就开始编写DAO19层了。但是在编写DAO持久层之前,大家注意,一般项目经理啊,他会搭建好一些什么常用的工具类,但是咱们这个项目是不是咱们自己完成啊,所以搭建工具类这些基础的操作啊,就需要我们自己来,就你觉得有哪些工具类呢?你并且do是不需要访问数据库,需要访问数据库的话,你需要编写工具类。想起来了吗?GDBCU是吧?好,你要把它写了,好,那我们就写这样的工具类,这块工具类主要是用来干嘛?还记得吗?主要是不是用来管理数据库连接时从从里面获取连接的呀,对吧?和关闭连接的啊,那我们来写一下,别着急,我们到us里面写上这么一个类,叫做gd bc us,好,那么它的方法是两个,一个是获取连接,一个是关闭连接,Public static get。
01:16
Connection啊,这是干嘛呢?就是获取数据库连接池中的连接是吧?哎,那使用数据库连接时是不是可以提高这个性能啊,我就先我就先留空啊,我一会再写,因为咱们是不是还没有写数据库连接值啊,先留着还有public static。别着急,参入式connection。咱们是不是关闭连接,好,OK,这是关闭连接,那么放回数据库连接池是吧,好,咱们也前什么都不干,那么咱们说这里面其实要用到数据库连接池吧,所以咱们要把数据库连接时需要用的一些。
02:12
这包给放进来了,哎,那么在咱们今天内容里面去看啊,笔记下午这部分首先注意看一下,你要用到数据库的话,数据库驱动的拿进来吧,啊,我把它放到哪,别着急放到咱们这个应该放到铝吧,放架包的哈。啊,我准备一个力把它放进来。这是买CQL数据库的驱动,那么数据库锂电池呢,是不是这里面呢,德鲁伊吧,好,我把它拿过来也放到这里面来,那现在呢,咱们添加一个项目,我们来看下怎么添加,我们找到项目结构的这里面。找到library里面去添加一下。
03:01
创建一个看见吧,呃,创建一个Java的,呃,找到那个目录在book book book下,Web下,Web in和下找到,记住啊,找到文件啊,是live下的文件了,这样给它添加过来,咱们先不给它加到模块下啊,先不加,然后呢,把这个名字改一下,这个是不是book live了,对吧?好,先给它open一下,然后呢,在这个地方,Active里面,Book里面。哎,需要给他加进来。诶,我懂了,哎,给这个book给它添加进来,咱们现在这个book是不是需要用到这里面的价包,把这个book立加下来,怎么做,要找到它依赖添加看见吧,Library,咱们是book library选中添加,添加进来了吧,添加进来之后这active里面选择这个book哈,给他feed一下,或者你在你在这边feed也行,随你哈,啊咱们在这边feed吧。
04:03
都可以走,把它添加到这个部署的这个里边来,好它就有了,有了以后来pen好大家看这两个是不是有这个标记了,咱们说有标记是不是就可以用了,好咱怎么用啊,大家请看一下哈,咱们要使用这个德鲁伊是不是得有个配置文件,那么这个配置文件咱们事先有了哈,我就不再重复写了,复制把它放到哪,放到源码这个目录下看见吗?啊,给它粘贴进来P里面来,那么这里面是不是修改成你数据库。的那个理念属性啊,我的用户名就是root,密码也是root啊,那么数据库是不是也是book,你改成你的那个哈,数据库的启动是它这是什么,这个初始化的数量,这是最大连接数吧,啊大家记得改成你们自己那个用户名密码和数据库名哈,那这个有了以后咱们怎么样去操作,注意看一下在这里面。
05:03
那么data source吧,Data source,好,这里面咱们要给它做初始化,用静态代码块做初始化,怎么初化呀?Data source等于delete。The data south,它有一个factory,看见了吧?用的是哈,然后点create data source,大家看一下创建的时候,它是不是需要一个property啊,这pro其实是啥是不是就是这是零的属性吧,那我们给他写一个吧,啊,我给他创建一个。好,这时候这时候是不是有了啊,我先给他值为now别着急,这里呢给他TRY看一下看到。
06:00
CTRL加out加T啊try catch。好,不会在异常。啊,还有啥呀,类型转换是吧?Out加enter类型转换OK,那么大家注意看了啊,这就创建了数据库连接池。但是还没管,那么他创建的时候需要的这些属性信息是不是从这个配置文件里面来的呀,那还得读取啊,来怎么读取,大家看一下哈,我去另一个properties回到几,然后proper.load它是不是需要一个流,然后这个硫怎么办?我先制空,这个流是谁,是不是读取这个文件之后得到的,怎么写啊,别着急啊,我先把它放进来,好像看也有异常对吧?来继续看啊。叫GDBC点点resource as,咱们读谁呢?就读这个这B系列来读它好了,别着急,读它之后啊,它就得到一个流,是不是得到一个input流啊,然们就把这个流放进来input。
07:19
放下就有了啊,那我把这个呢,都放进来吧,就都放进来吧,好OK,那么这个是读取什么东西呢?哎,GDBC点罗布斯的属性。配置文件啊好,这个是什么呢?从流中加载数据吧,从流中加载数据,好,那现在有了这个数据库理论值,我怎么知道它。创建成功没成功啊,我们打印一个东西,就是如果这个连接值能得到连接,那是不是说明他就成功了。
08:06
对吧,我怎么测试呢?来我只需要写个main方法就行了,因为main方法一执行它当前这个类是不是U就会加载类加载是不是就会执行时间给代码块,对吧?啊就做个最简单的测试就行了。看看有没有报错啊,诶这个连接是不是得到了,哎,说明这个连接值啊,咱们就算创建好了,那咱们把这个测试的代码先删掉啊,就是上面这部分先删掉,哎删掉以后咱们就能用一下,这也删掉啊,就测试的也删掉好咱们这里是不是要后续连接来看一下哈。等于到下面呢,把这个connection返回,哎,然后中间这个connection从哪来呀?Data source.get connection对吧?哎,那么来捕获一下异常try catch啊那么大家注意看,如果不换到异常是吧,咱们啊,就这样就可以了,这样就可以了,OK好了,那这里呢,你可以详细说明,就是如果。
09:19
返回那说明。获取连接失败,这能看懂吗啊。诶,有值就是成功啊,有值就是获取连接成功,为啥呀?大家想想啊,这个一开始是不是not值,如果你这个地方获许它失败了,它没有腐值吧,就补合它,那这里就会变成now返回,那返回now就说明它获取失败呗,是吧?好,那上面这个关闭也是一样,关闭的时候呢,上来要先判断一下连接它不等于空,能理解吧。
10:03
啊,你都空的话就会出现控制异常吧,所以这个地方要close一下。嗯。不会了,这个异常OK啊,那咱们这个代码就写好了,那写好了咱们来测试啊,怎么生成这个测试呢。来咱们写一个吧,在SC源码里面,咱们说测试是放在check下面啊,咱们先手动的写,叫做GDBCU调test啊,然后。俺得说东西怕不?TDBC。Just,然后呢,导出来这个包是吧,嗯,啊,又得让我下了,打那天是不是下好了,嗯,我去拿吧,这个互联网是挺麻烦的,来这里就他们俩吧,好复制。
11:11
啊,咱们放到这里面来没错吧,啊这里面来,然后呢,把这两个价包也添加到我们刚才那个book的library里面去就好了,来怎么做呀。项目结构吧,Project啊,然后找到live这里面给他再添加进来,刚刚那两个就是他们俩吧。点击进来保存生效,然后这边呢,不需要我们重复的feed吧,就好了,你看这边是不是加进来了,自动打包了吧,好省事了哈,那怎么测试呢,咱们来看一下吧哈,咱们就直接打印gdbc u,大家注意看一下,看这个提示在很多的项目里面呢,获得很多的这个第三方的价包或者项目里面框架里面你看。
12:06
人家是不是也有这种想法,就不只是人家,不止是咱们自己这么写啊,你看阿里的这个价包也是这么干的,对吧?好,咱们用咱们自己的,别打错包了啊,点get connection,你就看它能不能得到啊,连接对象啊。稍等一下。是不是有啊,那就说明成功嘛,这里呢,需要说明一个小点,就用的时候要注意什么东西啊,I小于呃100I加加,大家注意看一下。我现在是不是从数据库里接池里面,从工具链里获取100个是吧?那有什么问题没有啊,着急别着急啊,你发现诶咱们要获取100次,是不是你打印100个呀,那你发现就打印了这么几个,那到底是咋回事,就停在这里了,发现了吗?一二三四五六七八九十,一共是不十个,为什么?因为我们在这个配置文件里面就已经设置了最大连接数了嘛。
13:13
那怎么回事啊,大家记住啊,数据库连接池中的连接,每次用完一定要及时的释放,也就是你在这里获取,但是你是不是没有释放,所以你要要注意这个小点哈,我先把它停了啊,就不是这么干的,你获取归获取啊,来连接,然后呢,我打印是吧,然后用完之后GDBCU调点,你是不是得及时释放啊,这个一定要记住,只要你及时的释放的话,你不管获取多少个都没问题,来走你是吧。咱来看一下这是不是没问题啊,都OK吧,好给咱们了解一下。
我来说两句