00:00
好,那么第二张呢,就是我们现在要讲的叫如何去获取连接,这里边呢,呃,首先我们关注一下提供的这个三公司这一套标准啊,就Java点测购下呢,提供了一个接口,就是使用这个接口呢,我们来来去获取一个连接,这个接口呢叫做driver。翻译过来叫驱驱动呗,对,咱们说不同的数租厂商提供的这叫驱动了,就是呃比较呃顶级的一个接口,或者说呢,我们一个呃实现连接的一个起始点就从这个接口出发,叫driver啊,千万不要翻译成司机哈,或者叫驾驶员是吧?诶这叫驱动的意思说呢,哎,这个接口需要每一个啊,具体的Java的这个实现类呢,哎去实现哎Java的这个circle的这个框架呢,它是允许哎你去操作多个不同的数据库的,哎就支持多数据库的一个管理哈,行在这个driver里边呢,咱们刚才说了目的呢,是不是要获取个连接啊,哎,我们就看到它有一个方法用于返回,返回一个connection,那我们想调的是不是就应该是这个方法。
01:03
对吧?诶通过这个方法的调用呢,我们就能够获取个连接了,OK,那下边呢,我们就来做这个事情,哎首先咱们去创建个工程,这呢是咱们之前讲这个Java基础阶段的这些工程,这些工程呢,你看着比较长了,可以点右键,这有一个呢叫做这个,诶这块有个叫close是吧?诶把它做个关闭,关闭以后呢,还是在这呢,我们这块有一个叫filter。这块有个叫close的products,点一下打个OK全没了,这没删啊,哎,比如说我们这块来再点一下就回来了,你把这个点就打开,然后这块呢,你再去隐藏,哎,这就保留个它啊,你要把它呢做一个close。哎,它就消失了,哎,就看着更干净一些是吧,那下面呢,咱们来写这个JBC,这仍然是一个障碍工程,所以新建一个工程,这个我们就叫做AJDBC杠一啊这样来命名finish。好,下边呢,Src点右键,我们去新建一个package com点艾特硅谷,点这个呢,我们是测试连接的,所以我叫connection啊分好下边呢,我们来创建一个具体的测试类,就是来测试一下我们关于MYSQL的数据库连接的啊,Connection的一个测试。
02:16
好,进来进来以后,哎,这块测试呢,我们要演示几种不同的测试,哎,连接方式啊,哎,我们先写其中的第一个,好,这样子来单元测试,这个咱们前面已经讲过了啊,直接点一下导入,好回忆一下咱们刚才提到的,咱们的目的呢,是为了要获取一个connection,从这块呢也看到了啊,我要拿到一个connection对象,那咱们要用的呢,就是刚才提到这块的一个driver,调这个方法就可以了。OK,那这块我们去声明一个叫driver,那暂时咱们先声明这个no,这driver呢,需要导包是咱们Java点搜下,就是萨姆斯定义的这一套标准啊,然后这个driver的话呢,我们需要调它的方法点,诶我们刚才呢看到的这个connect需要传两个参数。
03:07
哎,这个第一个参数呢,是一个死针形的UR,第二个呢是一个property类型的一个变量。Practice,咱们讲那个集合的时候说的是吧,哎,掉了这两个方法以后,首先有异常,暂时我们先slow一下啊,哎,这个暂时我们也都先写成是一个no。哎,这个也写成是no,那么当你有了这两个距离值以后,我们在这CTRL1啊,这个没有帮我们自动生成了,因为它这块提示一个警告了,那咱们这块直接来接收啊,这个呢是一个连接。咱们刚才也看到了,说返回的呢,这不就是个连接的一个对象了,哎,这个连接对象呢,我们也需要导下包,所有咱们现在写的呢,都是接口啊,我要是真的拿到这个对象了,咱们打印一下,就相当于你拿到了这个女生的一个微信号了,要想拿到这个微信号,你得有这么一些数据需要赋值才行啊才行,好,那看第一个位置,我们声明的是一个driver,是萨斯定义的这套接口中的一个,那右边实例化。
04:14
你现在这样是不是控制帧,那这块呢,需要传一个什么呀,你得看一下是不是MY,具体的这个driver的时间类叫什么呀,所以我们右边呢,实例化的时候,你需要用一个my circle的具体的driver的时间类,那这样的话呢,我们就需要把人家my circle的那套驱动呢,给它加载进来,好,下边我们就做这个事儿,怎么加载呢?注意看啊,这是咱们Java工程点右键,哎,我们在这个当前的工程下去新建一个folder。一般的咱们习惯了,就叫lib了。他就是个library。Library就这个library,哎前三个字母啊,就是库呗,是吧,哎finish,然后呢,咱们去找一下这个驱动,看下咱们这个资料,第二个驱动,第一个麦SQ驱动,诶注意注意啊,我这块呢,其实放了两个不同的版本,一个呢是5.1.37,一个是5.1.7,诶咱们先用5.1.7。
05:13
呃,三星那个呢,我们到后边讲批量插入的时候呢,哎,我换一下哎让大家感受一下这个MYSQ呢,它这个驱动呢,有过更新,它更新以后呢,呃,在批量操作方面的效率也有点区别,咱们先用一个稍微老一点的啊,诶所以这块呢,诶我把这个炸包诶翻过来,注意哈炸包。啊,我这个刻意的没有给你整成一个压缩文件啊,因为总有同学呢,就拿着压缩文件就上去了。啊,这个咱们说的这个驱动啊,都是炸包啊,就是你点plus文件呢,给它打包成的一个炸包好放在这儿呢,不行啊,这个我们还不能用,仅仅是放到这了,我们需要点右键build pass ADD To Build pass,哎,这样的话呢,我们才可以使用这里边的API,就这块呢,跟个奶瓶似的。
06:01
这才行,你看只用那四啊这个这不都是奶瓶嘛,是吧,这样的话才可以用啊行这就行了,就跟说呢,你这块呢,呃,去中关村,中关村那块有很多的名企是吧,你在这个百度楼前照了一张照片,说我终于到百度了,别人还以为你入职百度了呢,是吧?诶实际上呢,你只是在这占了一下啊,怎么叫入职呢,你点build pass,这才叫入职了是吧?诶我们才可以去使用这里边的相关API了啊。行,那这呢,就我们导进来了,导进来以后,嗯,那你这里边一点开哇,看着感觉有点小崩溃是吧,我到底要找的时间类是这里边哪一个呢?看着有点眼晕。点运是吧,其实看着有点有点眼熟是吧,比如我看不着啊,看不着咱就假装没看着,你放到这点这个,诶CTRLTCTRLT就是tree是吧,我们就能够看到啊,这时候呢,它有一个时间类,这个接口的时间内,com.MYSQL.jdbc下的有一个类叫做driver。
07:06
哎,就是我们要找的他其实啊行,那这个呢,知道长这样了,咱们这块呢,就扭一下。com.MYCQ点诶JDBC.driver诶这样就可以了,它呢就是我们这样的一个时间类,说我想看一眼,点一下看不了,哎也能看,那就是加载它的源码带。呃,源码呢,在我们这个驱动这个文件夹下,这不有个src吗?这里边放的都是源码,那你这块呢,就需要点一下这个attach啊,去关联一下,关联的话呢,咱这刚才看到src它是一个文件目录啊,所以点下边这个,呃,桌面上的这块我还诶我桌面呢放当相当于放的是个快捷键啊,看不着了,那我得找一下我这个课件的位置。具体的我们在这个资料里边。启动里边,哇,这有点深了是吧,这是吧。
08:04
好点,OK,这呢,就我们能够看到这个所谓的源码了,那在诶这块看一眼啊,这个driver呢,就是咱们MYSQL提供的这样的一个实现类,它呢继承了它实现了,诶看到了实现了GDBC的这样的一个标准。哎,这就可以了,OK,那这块呢,咱们,呃,相当于是个多态了,编译的时候呢,我们Java调的一个方法,是不是你这个标准里边的萨斯的这个方法,那真正我们要执行的话呢,是不是一定是他重写的方法了。多肽里边咱不就这样说的嘛,是吧?诶那么返回的这个呢,也是你在编译的时候呢,我们认为调的方法呢,是接口里的,所以返回的这个呢,还是个接口,但实际上呢,返回的一定是你这个实现类重启的这个方法,返回的呢一定是这个接口的这个实现类的对象了,哎,这都是咱们多态的一个点啊行,那下边呢,我们还接着写,还需要写一个UR,写一个叫properties,那这两个又是什么呢?这个提到一个叫UR啊UR我往这块去找。
09:07
URL,咱们讲Java基础的时候呢,提过UR。Uniform。啊,统一资源定位服务是不是定位互联网上的一个资源是吧,那现在我们要定位的实际上就是我们要连接的哪一个数据库吧,有点类似于你看我们这个客户端哈,我把这个给它关掉,咱们再点击进来的时候,你不得告诉我你想连哪个IP下的哪个端口下的数据库吗?我这个没写,那咱们这块呢,连的时候就全看着了。那现在呢,我们要做的事就是你得告诉我,你要连什么,就跟咱们说,诶你通过浏览器你写个URL,你到底想看哪个网站的哪个资源啊,诶你得告诉我,哎,就得写个URL了啊,那这个URL怎么写呢?这已经写出来了。你说我不知道你就写出来的对不对啊,其实对是吧,诶那这块我们就得想我去哪找这个URL,那我们告诉大家一个比较原始的地方啊,这呢是我们从官网下载的这样的一个链接,点开以后啊,一般呢,我们看到这个文档的时候呢,通常有个read me,一般呢,都会不自觉的点开看一下,也就说我从来没有不自觉点开过是吧。
10:16
哎,这个一般呢,这里边会有一些包含的信息的哈,这个信息的话呢,我们CTRLF输入一下这个URL啊查找很遗憾没有,没有呢,就关掉是吧,关掉以后呢,这个呢叫源码点开没有read me,嗯,算了,DOS说明文档点开,有read me再点开。然后CTRLF输入URL,然后查找看看这里边呢,有没有关于我们如何去写这个L的一些说明,呃,这一看不是,这一看也不是。然后呢,就继续往下照。啊,这一般是英文,大家看起来会稍微痛苦一些,除非呢,你本身就会GDBC,你再看那个文档呢,就感觉很舒服是吧,比如说我现在的状态找着了是吧?诶这个呢,就是我们要找的这个URL,说name呢叫URL值是多少呢?就它说你咋知道就在2900多行就有呢,因为以前找过就在这呢是吧?啊哎,这个呢,相当于是给了一个我们从比较原始的位置找的一个情况啊大家呢,没有必要去找了,除非你自己想自己跑一遍看看效果而已啊诶你就直接呢把它拿过来就行,这个操作是固定的啊这呢,我就写了U,其实类似于咱们之前写的那个啊,你看以前咱们讲Java基础的时候呢,是HTTP啊,然后呢,咱们是一个,呃,其实也是一个local host是吧,然后咱们是访问的他太服务器嘛,下边具体的比如说咱们写了一个啊,比如说姚哥商城是吧,商城下的某一个呃,商品。
11:54
比如叫一个叫什么keyboard的键盘的一个JPG图片,哎,就是这样的,是一个具体的资源了,这个就是我们所说的这个叫。
12:06
叫什么协议,这就是你这个IP下载这个端口下载具体的某一个资源,哎,那我们这呢,其实也同样的道理。这个GDPC呢,我们也称为叫协议,这叫主协议,这个呢是针对em mysq的一个数据库的啊,我们叫子协议啊,这整整个呢,充当呢,相当于我们的HTDP,然后后边呢,就是端口号,呃不IP地址端口号,哎,这个数MYSQL嘛,3306这个呢。这个是数据库,数据库啊,咱们现在呢,我把这个表数据是不是都放到这个test数据库下了,诶那这块呢,我就自然而然的就是test了啊,那么如果大家呢,你自己测试的时候呢,你用的是其他的数据库,诶记着呢,一定要把这个位置改一下,这个test呢,指的是咱们的数据库啊。那这个我们这样标识一下JDBC冒号MYSQL这个指明的是我们的这个协议啊。诶,然后呢,后边这个,诶local host,这是咱们这个叫诶IP地址,诶咱现在连接的是我自己的主机的,你也可以连你旁边这个同学的前提是呢,哎,他允许远程连接是吧,你可以写他的这个IP哈,然后3306,诶这是咱们默认的啊my circle的这个端口号。
13:21
哎,然后后边这个test,哎,是我们这个,哎MYSQL的其中的一个数据库啊,Test数据库。哎,或者呢,这就是我们一个数据库名,哎,大家根据你自己的情况呢,去选择这个数据库就可以了,好,这个UR选完了,哎写完以后呢,后边还得需要一个properties,这个properties呢,我们首先呢,你把人家这个对象先造出来啊。诶,这个对象呢,就造好了,那造好以后呢,总不至于传一个对象里边什么也没有吧,啊,那这我们要想还差什么对吧,还差什么,这个connect的话呢,你看它这个参数这块介绍了,说有一个iner iner就我们现在这个properties,这个proper你干什么用的呀?说我这里边需要一些建值,对是词string型的,这个咱都知道啊,Properties本身就是建值,对的健康值都是string,呃,一些参数,那通常情况下呢,至少你应该包含一个user和password哦,用户名密码对,咱们登录的时候呢,不也得需要用户名密码嘛,现在呢,还没有一个位置去写它,哎,就把它封装在我们的prop里边啊,说这里边将用户名和密码封装在哎,我们的properties。
14:38
哎中嗯,诶这样就可以了,诶我们还有这样的一个写法啊,诶我们直接呢去set property,那么这个key写什么呢?刚才已经提示你了,是不是就叫这个user,这个就叫password,你就不要乱写了,你这块的set呢,它里边呢会自动的去调get,就找这个key,所以你这块呢要写成username,它里边去找那个get的时候呢,是就找不到了,对,所以你这个叫user啊,这个呢,咱们用的是root用户啊INF。
15:09
第2SET property,这个就是大家在装这个MYSQL的时候呢,咱们用的这个密码,对password这个大家每个人可能不一样啊,我这用的是ABC123了,好,这样写完以后我们就能够获取一个连接了,终于这个对象造好了,参数呢也提供好了,获取一个连接跑一下。走OK,诶出来了。当这时候呢,没有报异常,而出来这样的一串数的时候,其实就相当于掉了我们这个返回的my circle的,呃,具体连接这个对象的一个图方法啊,它就长这样一个情况,这就说明我们这个链接呢,就获取成功了,你就拿到了这个女生的一个微信号。啊或者手机号,而且他现在都已经通过这个加你为好友了,下一步呢,就是看你要怎么做了是吧?啊要做什么了啊行,这样的话呢,我们就实现了一个连接啊这个连接呢,方式叫方式一,哎,咱们花的这个时间呢,稍微长一点,哎你知道呢,这里边我们都需要做什么事,提到了一个叫driver。
16:13
你你看这算几个事啊,这Java一个是吧,是不是UR一个,然后用户名一个,密码一个,其实算四个事吧。就是我们要想获取连接,你是不是得有这四个结构,嗯,Driver,咱们举一个生活中容易理解的例子,比如说你现在想去西藏旅游吧,西藏旅游就相当于我现在要获取个连接一样,那么这个driver呢,就是你得有一辆车。这就是那辆车,这辆车呢,直接就开着去西藏了,那URL相当于行车的一个路线,你想去哪,我想去啊,这个位置,这个端口号,这个数据库啊,我想去西藏啊,我怎么去,这是你的目标,那有了车了,有了目标了没有人啊,这个钥匙呢,呃,帕托沃呢,理解成就是你车的钥匙啊,你呢,开上这个车,把钥匙往上一拧,把车打着火了,开着就去了,是吧?哎,这样的四个事儿啊,缺一不可啊,这样啊好。
我来说两句