00:00
啊,那行吧,咱们下面就开始来讲新课啊,我们今天第一天我们先讲一下,这个叫GDBC。GDBC,我们刚刚已经说了,它是我们服务器端。数据库之间。我们要进行通信。说白了。我们Java程序怎么去访问数据库啊,怎么从数据库里面去把数据取出来啊,啊,我们Java程序里面有数据,怎么去把它保存到数据库里面去啊。哎,他就来做这件事情。所以咱们,所以下面呢,咱们进来进行第一步,我们先看一看怎么和数据库啊,怎么来进行连上,那行吧,我首先呢,我先创建一个项目啊。我们先创建一个project。我们选择加法。然后呢,这边应该都不用动是吧,同学们。好,下一步。这边不管它,下一步好到这边来,嗯,我把它放到。我把它放到稍等一下啊,这边没刷新过来刷一下啊。好,我把它放到这个里面啊,或者这样我就把它直接放到外面去,因为这边有中文啊,直接放到这个下面去。
01:05
好了。然后呢,我把这个名字呢,我把它改掉,咱们是0927是吧。稍等一下啊嗯。稍等一下,我现在就改,省了一会儿忘记了啊。一点小问题啊,现在我在现在在录制视频,他可能改不了,先这样吧,啊好吧,同学们先这样吧,啊,那行我们来写一下啊,比如说我当年写的是project-web,这是我新建的一个project是吧,同学们。啊,叫project web。好。Yes。OK。然后呢,我们在这个下面。稍等啊,这玩意稍等我这进的不对,我直接放在这个下面,所以他把它识别出来了,这不对啊,稍等我一下,稍等我一下。
02:07
又出个project,稍等啊,下一步。我把刚才文件夹打开啊。点到这,然后这玩意儿这个这个都不要。重新来新建一个。好,我把它放到这儿。OK,然后呢,我这边写一个叫project-web。那。这个呢,我把它复制下来是吧,同学们,刚才我没有复制这一集是吧,同学们啊,没有复制它直接散在这里面啊,咱们把它放到这个文件夹里面去。点击OK。那行吧,记得当前窗口打开。好,我新建了一个项目,那当然了,这个project呢,咱们只需要用它做管理就可以了,我们下面呢,我们在里面新建模块,咱们之前也是这么说的是吧,所以这个SC其实没啥用啊,同学们。是吧,可以把这SC把它把它删掉啊,然后在这个下面我再去新建第一个model没问题吧。
03:04
我新建第一个。好,点击下一步,那这个我就称为叫PROJECT01-JJDBC行不行,同学们。如果我说快了,大家提醒我一下啊,这个叫pro电脑零幺,中间如果哪一块你听了感觉有问题,听不懂,直接打断直接问。这样效率最高啊,直接打断,直接问。好。那行啊,我现在已经新建了一个项目了。好,下面呢,我准备在这个当中,我来新建一个类。Com点艾特硅谷点,我们就写一个叫JDBC吧,就放到这里面算了,我写个叫代零幺。好。呃,我在这个当中呢,我就来写一个慢函数。我的第一步,Public static void map,我的第一步是我要能够先和数据库能够建立连接。这是我第一步要完成的事情。
04:06
啊,叫建立连接。OK。那么第一步是什么呢?第一步我需要先添加架包。我需要先添加价包。那这个价报是什么呢?是这样的,同学们为什么需要有架包的概念?我们快速的先来解释一下。GDBC,它实际上是上。提供的啊,或者上发布的一个。Java程序和数据库之间通信的规范。注意,我说的是规范。所以说我们JDBC啊,它其实内部有大量的接口。它内部其实有大量的接口,它并没有提供具体的实现类。比如说和MYSQL怎么去建立连接啊,它并没有提供类,它提供的是接口,它仅仅制定了规范,它仅仅制定了标准。
05:12
然后呢,我们的各大数据库厂商。稍等一下啊,这第一个。第二个。各大数据库厂商。厂商。根据规范。啊,根据规范或者根据标准。或者叫各大数据库厂商去实现。JDBC规范。那么实现规范肯定就是实现内容。对吧,根据接口咱们去写实现类嘛。那么这些实现类。这些实线类打成压缩包。打算压着包,就是所谓的家暴。所以说这个压缩包里面放的是什么,是不是放了N多个实现类啊。
06:01
关于咱们JDBC技术的各种各样的实现类,所以说我问一下,如果说咱们只有接口这个程序能工作吗?不行的,因为咱们接口里面原始的接口当中方法是没有方法实现的,虽然说咱们这个现在咱们接口里面有默认实现是吧,但是其实也不是那回事啊,咱们需要有实现类。所以说呢,我们就需要把这个压缩包,把它拿进来,这个压缩包是人家各大数据库厂商提供的,能听懂我意思吗?这样你才能去使用它内部的这些类,这就是第一步,我们为什么需要加包,这个大家能不能听懂?OK,所以我们需要来新建夹包,那这样吧,我为了能够方便的进行管理啊,同学们,我要不在这边新建文件夹吧,我就称之为叫library。然后呢,我所有的这个加包呢,啊,包括以后我们还会再用了,其他的家包,我们就全部放在这个library里面进行管理。行不行,同学们啊,这样就不要散在项目里面去了啊,那我先找一下我的家包,我的家包在library在这儿MY。
07:02
在这儿。嗯,那这边我要给大家说一下。我现在呢,我用的my soq呢,我用的是5.7啊,我用的不是my sol8,如果用my sol8,大家需要用这个加包。现在我用的是5.7,那我用上面这个家暴就可以了,我建议大家版本和我保持一致啊,不要去过多的追求新版本,因为很多时候大家用新版本,其实你并没有用到人家的新特性。啊,所以大家版本和老师保持一致就可以了啊HC我把它拷贝一下。然后到这边来V,我把它粘进来,点击OK,那行我粘进来了啊,粘进来之后。我就选中它右键,嗯,它这里有个叫ADD as library。叫把它作为一个library,作为一个库把它添加进来,那就称之叫library,点击OK。这样我就把它加进来了。那咱们打开这个家包看一下呗。啊,比如说这边有。Com my,比如说JDPC,咱们来看一下啊,打开我们找一下,看它当中有没有一个叫connection,你看这边一个叫connection接口吧。
08:09
这边是不是还叫connect IP IP什么意思?哎,那估计这玩意儿估计是个什么实现是吧。IP这个东西。好了。稍等一下啊。我们看一下它是不是实现继承啊,谁谁谁,然后实现这个接口叫my so connection。咱们再点进去,你看这个接口connection,然后咱们再点进去,你再看一下这个connection。啊,记得这。那你看一下这个可能给他继承谁。叫继承Java点点connection,当前这个connection是MY搜狗里面的啊,Pack在这呢。他继承于谁?继承加法点过点connection这玩意儿是谁呢?这玩意儿就是some,给我们提供了一个规范,提供了一个标准。我们把回到我们刚才那个图啊,稍等一下。回到这个图,我们把Java程序和数据库之间能够进行通信所建立的一个连接,我们称之为叫connection。
09:07
这是上它所规定的,所制定的一个规范叫connection,所以你看一下这个架包,所谓的压缩包啊,就是加包,这里面是不是有大量的这些类和接口啊,其实就是对于这个规范的一个实现。这个关系大家能听懂吗?OK,好,关掉了啊。好,这是第一步,咱们添加的加包。操作很简单。加包CTRLC到这边CTRLV是吧,同学们操作是比较简单,但是大家一定要理解啊。好,这是第一步,添加加包第二步。第二步是什么呢?叫加载驱动。驱动加载驱动。啥叫驱动呢?驱动就是一个一个的实现类。其中咱们这个当中有一个实现类叫driver。Driver这个单词的意思就叫驱动。
10:00
所以我们就称之为叫驱动。前面这个加载是什么意思呢?加载就是class点。耶,大家在哪里看到过的?这是不是反射的时候啊,咱们是不是class点里面可以,是不是可以写个全类名啊,我们是不是就可以把这玩意可以把它加载到内存里面去了,形成一个大class对象是吧?同学们这叫class.form所以我们称为叫加载驱动。因此咱们写一下呗。org。点GDT。你org点击点点稍等一下啊。Org.GJt.MM怎么点不出来?刚才我写的有问题啊。好,这是第一步。OK。嗯,这个地方因为class.form LA它是需要抛异常的是吧,同学们,所以我们需要开启一下,或者咱们这边就暂时直接through吧。对外抛一场算了。好,我们可以获取一个connection对象。
11:00
啊,他给我们返回的这个connection,那么这个connection呢,不要导错了,我们导的是Java点四里面的。请你不要倒下面的啊,一定要找导这个加法点思考。说明它是来自于这个上的这个规范。是吧。同学们,再次路。稍等一下啊,这边感觉有问题啊。啊,稍等我写错了,怎么能这么写呢?这第一步这是加载驱动啊,这个我想哪去了啊,思想开小车了,加载驱动下面一步是什么呢?第三步就通过驱动管理器。获取连接,获取连接对象。驱动管理器。嗯,驱动管理器是啥哟哦,驱动管理器叫driver manager。它也是我们加法点C里面的。我们加法点里面,我们常用的唯独只有它是C,是class,其他的全部都是I。
12:06
所以大家导报的时候,你要倾向于只要是I的,我一定要导I的,不要导C,除非除了这个。啊,我们JDBC规范里面drive manager这个是类,其他的咱们用到的都是接口。OK drive manager。点它有个方法叫get connection。那行吧,咱们就用这个方法get获取connection连接,叫get connection,我们这里面有三个参数。第一个叫U21。第二个叫用户名,第三个叫密码。我们有这三个三个参数,那么最终呢,他给我们返回的就这个connection。啊,刚才这个我写的这边写的不对啊,应该写到这,他给我们返回的就是一个connection对象。好了,那么我们现在缺三个参数,诶,同学们,咱们需要把这三个参数把它补上去。第一个。准备121。
13:02
好,那么U是什么呢?这是server,这是咱们的Java服务器。这个是数据库,同学们,我们以后在实际开发的时候,数据库不一定是在你本地的电脑上的。我们平时做开发的时候,我们在本地会安装数据库,我们写代码的时候在本地进行测试,但是我们测完之后,同学们,我们实际的。啊,咱们公司里面正式的测试服务器肯定不可能,一般情况下不会在你本地的,一般都会有专门的一个服务器,专门一个机器上面安装的数据库,那么咱们需要去访问那一台机器上的数据库。那我们怎么访问他?咱们加C是是学过socket叫网络编程啊,咱们其实建立的就是socket连接,那咱们建socket连接是不是需要知道IP和端口号。只有我们知道一台机器的IP和端口号,是不是才能够和那一台机器上的某一个应用程序才能进行通信啊,所以我们得知道IP和端口号。
14:05
好。所以说我们这个U怎么写呢。String URL等于这么来写,JDBC冒号my circle冒号杠杠,这是一个前缀,这是固定写法。这个是固定写法。再往下我们写的是local host,因为我现在服这个数据库的服务器是在本地,所以我写的是local host,那么将来呢,如果说你的数据库服务器啊,不在本地,那你这边写的是什么呢?你写的记得是那个服务器的IP地址咯。大家以后一般情况下,你入职的第一天。啊,公司的这个技术支持或者运营啊,这个这个有专门有人会给你发一个邮件是吧,你的什么什么什么账号密码是什么,然后呢,你这个项目组,你用的这个服务器IP地址啊等等等是什么,他都会告诉你的。好,这个是IP地址,再往下断个号。3306。
15:01
3306是咱们MYS狗所用的一个默认的一个端口号,当然这个端口号是可以改的是吧?同学们,咱们之前安装MYS口的时候啊,这个端口是可以,但一般情况下咱们不要改。再往下,我们需要去访问的就是数据库名称。那这个地方呢,咱们节约时间,数据库我已经给他建好了。我们建了一个数据库,叫DB。啊,和水果相关的一个数据库叫DB。所以我把这个DB把它加进来。就这样的。这就是我们的一二油。当然它后面还会有一些字符串,咱们一会儿碰到问题咱们再说。啊,暂时我先把它先写成这样,这是121第二个参数,我们需要准备用户名。好,呃,这边用户名咱们比较简单了,我们就直接使用root访问算了。第三个我们需要准备密密码啊准备。
16:03
准备密码,OK。子俊,Password等于,那我的密码是123456,就这样子。好了,这样我这三个参数我就把它准备好了,那行吧,再进行through一下,我们需要through一个circle exception。就这了。那这样我就得到一个连接了。那行吧,咱们可以把这连接对象打印出来看一下,看他打印的对不对啊,我们看一下这个连接对象能不能获取到,行吧,同学们我们先来试一下啊,刚刚这边感觉有点小问题啊,因为我这边点的话一般都能弹出来的,但是刚刚没有给我自动提示。在这试一下啊Og.ggt你看到没有。啊,稍等一下com.MYSQL也没有说明这个加包它没有识别啊。不管他,我先试试Og.g GT m m my driver行吗?同学们,我们先来试一下啊。那行,咱们现在来运行一下,点一下wrong。
17:12
好,我们来看一下啊,他给我报了一个错误叫not phone的片是吧,他报的是这个没有找到啊,这个没有找到不是我拼错了啊,这个常见错误我写在上拉斯not放的一个S,一般情况下报这个错都是因为大家第一第一你的家暴忘加了。第二,你这里面拼写拼错了啊ggt你写的是git,那这个就完蛋了是吧,你点一下啊,他会给你报个错,他说org.git找不到。稍等一下啊。你拼错了嘛,是吧,他也会给我报这个错。啊,那这个是报错的原因了,那行吧,现在我来解决一下我当前这个问题。Library我不是已经加进来了吗?右键刚才已经ADD了呀。你看已经有二了呀,怎么会不行呢?再来在它上面再右键一下啊,右键我看一下啊。
18:02
应该是没有问题的啊,应该是没有问题的。右键。ADD as,对的呀。稍等一下啊。Project找到model。Web。Depend,呃,这边没有加进来,这边很奇怪,Library有的呀,这个已经加进来了啊,但是在这里面它没有这样的依赖。嗯。不管它,我先操作一下啊,我选中它,选中咱们当前新建这个model,然后点击,然后点击加号,然后点击library,我把这个library把它加进来。一般情况下,我们这个library,只要我加到这个project的这个级别,下面所有的model应该都是能够应用上去的。但是我现在呢,你看一下啊,看我看我这个发现这个问题的步骤。这是project web,这是不是project呀,它的depend依赖里面是不是,但是我在下面这个model这边depend是不是没有啊啊,那我就把它直接加进来,点击library,然后选中它行吗?同学们直接点它就可以了啊,点击艾点击应用,点击OK,然后我们把它删掉,你再试一下org点是不是有了呀,GJd.MF当然咱们也可以用另外一个,两个都可以啊,稍等一下啊,写在上。
19:26
还有一个com.MYSQL.jdbc.driver用它也行,好吧,同学们,那现在我们再来试一下它就没有问题了。点运行。Connection是不是有了呀,他就能给我获取了一个连接,那这样的话,咱们就表示连接成功了。OK。好,这是我们第一步要做的事情。
我来说两句