00:00
行了,时间到啊,咱们接下来就接着往下了,各位啊,再往下,那再往下咱们就实战了各位,首先我们新建一个第一个程序啊,J d bc test01吧,好,这个现在呢,我们前几个程序我们先不用文本,先不用这个idea啊,我们先文本编辑辑开发来这个呢,我要彻底给大家写一写JDBC编程什么六空啊,给大家说一下来public class叫gd bc test的什么零一,然后呢,主方法我们肯定要写上哈利TE VO men啊来接下来呢,我们在这呢,先把步骤写一下,第一步注册驱动啊,第二步是获取连接啊,第三步是获数据库操作对象,第四步呢是执行circle口啊,第五步是处理查询结果集啊结果集,然后第六步是干什么的,是释放资。
01:00
资源啊,释放资源啊,来我们一块看看注册驱动怎么注册呢。对吧,那这个我们得找一下代码了,各位啊,这个找代码去哪找,肯定是这个JDK的帮助文档啊,Java什么circle这个包下啊,我来写,你来记啊,大家看不是接口啊,上来不是一个接口,是类,这个javaq包下有个类啊,叫驱动管理器,看见了吧,Manager是管理器啊,Driver是驱动,叫驱动管理器,驱动管理器当中呢,非常非常简单的一个方法啊,大家看往这里看,往这看啊,叫做static void静态的方法。是不是方法名叫做驱动的注册,Register是注册的意思,Register driver表示注册驱动,括号当中需要传一个驱动,看见了吧,所以这块呢,写法怎么写,固定代码都练啊,谁下工夫谁就能学好,JDBC,就这么简单啊,他就这个技术就是这样,你下去之后,你一行代码不敲,我告诉你你啥也学不会,这个就是你下工夫多敲几遍就会了啊,Register什么啊,然后接下来这个位置传的这个参数呢,您需要看一看,它叫做驱动对吧?好,我们点过去,大家看接口是不是没法弄对象。
02:21
这是个接口啊,这不驱动吗?驱动往上找,往上找,往上找在哪啊在哪啊来。Java这个包下是不是接口有个叫driver的,这个driver就是他。对吧,但是你这个接口没法拗啊。你没法new driver啊,对吧,那这个接口没法new,你就得找谁啊,这个driver的实现类,Driver实现类在哪呢?你觉得这个驱动的实线谁写的。那肯定是连买买买厂家写的呀,06G DBC,谁买扣啊,找谁这个解啊,是不是就是他是不是是不他来点过去啊,看一看,这是包名的包名懂办人家写的这个类不可能没包啊,连个包都没有,那不可能啊,带包的啊,Com mys JD bc有个类叫啥,找一找,我直接告诉你们啊,叫driver。
03:18
看见了吧,包名是啥,Com my circle JD bc,什么driver啊,有森老师你怎么知道它的,它实现的这个driver接口啊,你可以点过去看看源码啊,买搜他有没有开放源代码。就这个JA包有没有开放源代码来原打开哪个com谁谁DDBJ谁driver是不是这个打开啊好,大家看看这个driver有没有去继承,有没有去实现这个接口。这个接口是不是就是这这个这个这个这个这个这个这个接口,哎,行,那扭扭谁。
04:01
New driver new driver废了啊废了这个driver是谁是他呀,他接口没法啊。所以你得救谁啊?带包名吧。这样就行了。不,你你不能这么干啊,你这么干或者你这么干是不是肯定不行,因为他是个接口了。你这就得拗谁拗这个啊。用这个。别蒙各位啊,看见这个了吗?包名,看看包名。是不是它它实现的这个类,这个这个接口也叫啥driver,唯独的区别是啥,包名不一样,这个类包名是他,这个接口包名是他。
05:05
所以您在new的时候呢,这个代码还不能随便写。哎,你看。终于有同学问了,老师,打个包不行吗?行啊。没啥问题。导个包就行了啊,但是这行代码我们拆成两行写怎么写?是不是要把谁传进去?是吧,好,这个是不是。多肽。负类型引用指向什么子类型对象吗?好,那这会你导包导谁呀?
06:06
加点circle driver是不是好导进去了啊,这是不是可以删掉了,这个能删吗?你删删试试,你删了这个这个专门就是他。是吧,你还得加什么报名一行代拆成两行,就得这样写了,就driver measure掉,Driver框里边传driver吗?那这个driver就是这个driver,这个driver是这个driver。懂吗?诶这个driver是这个driver啊,这个driver呢,就是这个driver的它不一样多肽啊负类型引用指向子类型对象,这是一个实现类,这是一个接口。第一步搞定了啊,是不简单来点没常。
07:06
Register driver注册驱动的这个方法呀,Circleionion继承ion是受检异常,检异常呢,需要进行处理,再往上抛,不合适吧,是不是TRY开始啊开始啊,Circle exception,然后在这个位置上,我们把这个直接拿过来放这摆。妥了吧,这个地方打印异常信息呗,行吧,好我们编译一下,先我们先编译一下啊,我们这个程序。写哪儿了?这是?写这了啊。先编译一下,错吧,应该是。Driver manager是不是没倒包circle exception是不是也没倒,所以这边是不是倒啊倒谁加入点circle谁driver manager啊IM加点搜狗星也行啊,搜狗谁是不是好,再来过了吧。
08:16
过了啊,但是现在运行有效果吗?没有效果啊,来第二步该干啥了,通道得打开吧,打开通道啊,第一步我们已经做完了,就是注册驱动,就是告诉Java程序我们即将连接的是哪个品牌的数据库。买Q品牌的数据库啊,获取连接怎么做?还是叫driver manager,还是叫driver manager啊,Driver manager,各位获取连接需不需要知道我们连接数据库的这个IP地址、用户名、密码、端口等一系列信息,从北京连接上海的数据库,你必须要把上海的那个数据库告诉我,你的IP是什么,你的端口是啥,你的数据库名是啥,你的用户名是啥,你的密码是啥?这些信息都需要告诉我。好吧,那看。
09:04
这里还是有一个类叫有一个方法非常简单,建明之意叫get connection。这个英语单词表示get get get get是吧,Get里边获取吧,获取connection是不是连接对象,获取连接对象需要传三个参数,其中用户名、密码,我觉得你应该能看懂,URL是啥,你可能不知道,我给你讲讲,那这个方法是一个静态方法,对吧?用类名去调就可以了,这个方法执行结束之后会返回个连接对象,连接对象是一个接口。Connection吗?好,接下来怎么写connection connection等于driver made.guide connection3个参数,URL,用户名和密码,然后上面是不是三个东西啊,URL还有一个是用户名和密码是不是好那各位密码咱都是333固定的啊,然后呢,这个用户呢,咱们是root,是不是这个URL这样写的,GDDC冒号买车给我写上IP地址,端口号跟上,然后呢,北京power note数据库名字,这个IP地址,诶说一下写个127.0.0.1,端口是3306。
10:31
3306。这个能看懂吗?我得给你解释解释啊。又得倒哪个包是这个吧,这个get connection有没有异常?Get connection这个方法是不是异常在这是不是正好写到这个里边,是不是cash没问题吧?好,没问题啊,那么接下来我们先来看看这个连接对象能不能拿到行吧。
11:12
是不是这样啊,编译。连上了吗?对象都已经给你造出来了,这个对象都都已给你造出来了吧,这个是不是就是连接对象的地址。大家看很有意思啊,叫com gdpc gpc gdp4。你们都应该知道艾特符号前面这个是个类名是吧?也就是说等同于这个代码是不是。这是不是多肽?这不负类型引用吗?指向子类型对象吗?这是哪个包下的?加va circleql吧?后边创建的真正的对象是谁?是买circlel吧?好,请们告诉我,如果有一天连的数据库不是MYS,是Oracle数据库,这个地方的类名是不是会发生改变?
12:14
但需要我们管吗?不需要,我们只需要调哪个方法就行。这个。我们只需要调manager的get connection方法获取的连接对象,如果您后边这个URL用户名密码正确的情况下,连的是MYSQL,获取的对象就是MYSQL的连接对象,如果你连接是Oracle数据库呢?将来获取的就是Oracle的这个连接对象,但是我不管你是Oracle还是my circlele,将来这个C是不是往下调方法就行了。我们调的这个方法永远都是这个接口里的方法,面向什么?接口写代码,我不管你底买circle还是Oracle,总之您只要驱动配上去就好使。
13:05
好,注册驱动第二步获取连接,但是这个呢,我要给大家讲讲这个URL了啊,讲一下URL啊,什么是URL。统一资源定位符。网络中某个资源的绝对路径啊,网络中某个资源的什么绝对路径?URL你应该见过啊,这个就是来这个就是这就是一个什么就是。那这个URL到底有什么东西呢?它里边URL包括什么元素,包括哪几部分?哪几部分协议对吧,IP吧,端口吧,资源名吧。
14:09
好没关系啊,咱们看看啊,听一下百度,百度的IP是182是吧,走一个。注意看在这个位置怎么写HTPS或者HTP协议这个行吧,端口多少80INDEX ht8拿过来啊,交回车,大家看百度首页是不是照样也可以。拿到吧,等会啊,有人们拿到了吧,哎,我想说一下各位啊,这个捋一下HTP冒号俩斜杠是什么通信协议,然后呢,幺幺八二六幺二百点七,这是服务器IP地址,然后八零是服务器端口吧,服务器上软件的什么端口是不是好index HTML是什么?是服务器上的某个什么资源名。
15:13
我通过我这台电脑要想连接你那台电脑上的某一个东西,你想想是不是需要告诉我,第一你的电脑IP是多少,第二你得告诉你电脑上那个软件的这个端口是多少端口,这个东西是不是这个应用的一个一个一个代号啊。IP是谁的代号?IP是计算机的代号,这个端口是你这个计算机上的某个软件的代号,听懂了吧,然后走到这儿的话,就相当于我我电脑就可以和你那个电脑通道干什么可以打开了,但是我的电脑上的这个这个软件和你电脑上的那个软件的通道打开之后,你。我我要访问的是你那个电脑上的。哪哪个资源你是不是得告告诉人家呀,你得把资源名告诉人家,要不然人家不知道你要你要啥呀。
16:07
行,咔嚓一声,来,咱俩通道打开了。你也不说话。是吧,我哪知道你要啥呀,你说你把你天面那个页面给我那个百度E嚓一推通往通过这个通道一推就推过来了。展现在你面前的就是百度首页吗?懂什么意思吧?好的,我问你,就像买circleq一样,你需不需要告诉告告诉人家买你连的是哪哪哪哪哪个机器。对吧,哪个机器上我问你是不是有个3306,就是代表的是MYSQLMYSQL里面那么多数据库,你到你你到底连的是哪个数据库,你是不是得告诉人家,咱们有没有一个数据库叫B有吧,这个nepa打开大家看这个地方是不是有一个。BG pro弄的呀,还有MYSQL,我问你这个位置能不能写MYSQL啊。
17:03
这不是吗?还有个叫test的数据库吧,那行能不能写T的可以。我们这写BJ part,我现在在讲URL各位啊,JDBC冒号买circle口,拿过来捋一下啊,其中JDBC冒号买SQ2个斜杠,这属于什么协议啊,127.0.0.1IP地址33063306端口号买circle口数据库的端口号吧,然后BD啪弄的是什么具体的什么数据库实例名。来说明啊,Local host和什么127.00.1,都是本机IP,本机IP啊,都是本机IP,你愿意写哪个写哪个都行,当然你也可以写什么,写别的其他的,比如咱们班里呢,有一个IP地址幺九二点幺六八点。
18:16
151。来,随便说一个。27。好,192168151.27。你的用户名root密码是这个吗?是这个是吧,好密码这个行啊好,那咱们就改改啊改成谁。192.168.151.27对吧,就连这个东西的这个这个数据库啊,从我电脑连的数据库,用户名root的密码是333,然后呢。有同学就说,老师这个我还是不太懂,这个协议是个什么东西。这不能背啊,什么是协议有什么用?
19:05
什么是协议有什么用?什么是通信协议啊?什么是通信协议有什么用?通信协议是通信之前就提前定好的,什么提前定好的数据传送格式?就是怎么传,格式是什么就提前说好了。听懂了吧,就数据包具体怎么传,数据格式提前定好的。明白,比如说我说话你能听懂吗?能是吧,你说话我也能听懂,为啥?因为咱俩之间遵守一套协议,就是中国普通话协议,家乡话是吧?中国普通话协议啊,你要说家乡话我听不懂,因为咱俩遵守的不是同一套协议。
20:09
这就是说你你和我如果遵守同一套协议的话,我们就可以通信,也就是说你现在要和百度通信,你必须就是说你你你这个传给人家百度的东西,百度提前是知道的,百度不知道你具体传啥,但是百度必须得知道你传的这个格式是啥,那百度的服务器知道你的格式是啥,是不是才可以解析呀?我们都规定好啊,传传传数据的时候这样传,Name等于value与什么呀?Name等于什么value与什么呀?Name等于什么value,不管是360浏览器,还是谷歌还是火狐,总之都以这种格式提交数据给服务器,服务器那边是不是根据这个格式就可以解析啊。
21:03
不说了啊,这块我想说的是什么呢?就是通信协议呢,是提前定好的某一个组织,这个组织呢,是一个是一个非营利性的组织,应该是一个标准机构,对吧?这个机构他呢,专门去制定一些协议规范啊,那这个协议规范制定好之后呢,就必须得按照这个协议规范去传送数据了啊,必须按照规范去传送数据,你小时候呢,你们那个老师啊,告诉你中国的中字啊,就是这样写的,诶,发音是中,中医生啊,那个小学老师也是这么教我的,我告诉你他们教的都是同一套协议啊,听懂了吧,于是乎我们将来可以聊天了,原因很简单,因为我们遵循同一套协议啊,没有规范,没有规范,记住我们永我们我们永远都没有办法通信的,明白吗?啊,你包括这个包括部队当中啊,你看部队特种兵对吧,他们都有手势,什么是前进。对不对,什么是前进有手势啊对吧,哎,你你乱来肯定不行啊,读不懂啊,读不懂啊对吧,你前进。
22:08
暴露了。是吧,一条胳膊没了对不对,你前面有有专门的手势,明白吧,这是规定好的一套协议,大家都不要随便来,你要随便来,对不起,我读不懂,我不知道你在干啥,是不是,诶这就是协议,那就像就像我们这个浏览器现在跟百度通信一样,你其实。我们都遵守一套协议的,这是HTTP协议。这个协议底层有一个具体的传送格式。我不管你是哪个浏览器的生产厂家,我不管你是哪个浏览器,总之你都是采用HTTP这种格式去传送数据给服务器的。这样服务器才可以解析,从你这个数据当中解析出有价值的信息,我提前你知道这个格式啊,所以遵守协议很重要。
23:01
好了,这是关于咱们这个。URL。你要想知道Oracle的,你可以找找你一切啊都可以百度。Oracle不是协议gbc Oracle。呃。这样写的。二。他的协议是这个协议。看见了吧?艾特后边跟什么IP?这是什么端口?这是什么数据库实例名?
24:05
听懂了吧,如果有一天你到公司里边用的不是Oracle,也不是买,怎么办?从网上查明白,好,我再问大家一个问题啊,如果有一天连的是Oracle数据库,这还有这个吗?你还不知道?这个地方还有这个吗。这是Oracle的。二系统啊。理解吧,来编译一下,能不能连上我看一看啊,哎哟,有延迟啊。
25:06
这个学生的机器。192168151.27,你当时选没选那个入可以在外部访问。选了是吧。那不应该啊,你服务提了吗。买的服务是启动的是吧。不可能这么办啊。来换一个,来换一个,咱不管这个了,来IP说一个椅子多少。二一是吧,来。编译啊运行。电脑的问题。
26:05
不应该呀。BJ power node192168151.21。3.06。我先练一下我自己的啊,我自己改成什么logo号啊。自己的没事,192.168.151.32有吗。二八二八四十。还小。四你是二八是吧。这是740吗?
27:03
74088是吧。我们等会啊,我们等会看看他最后是超时之后是什么样的啊。应该上来就能连上啊。我在这新建个链接啊,你是多少。151.28是吧。为什么?密码是74088是吧,编一下啊。
28:00
连不上。如果这个工具都连不上,证明这是不是我程序的问题啊,连接吧。恩,192168151.28呀。不应该啊,诶出问题了啊,出问题了,连不上连不上19168151.28,我们看这个信息说说的是什么信息。就是连接失败。连接超时。有没有具体原因?连接超时,你看我现在我这么连都连不上,这是咋回事啊?你们有没有给我开这个问一下。没看到他下好死了。防火墙没起是吗?
29:05
我再连一个多少39是吧。不允许。这个不是超时,这是不允许。你防火墙开着关着呢,关掉防火墙。你把房间关一下。关掉了是吧,我应该是那个。好,密码不对,不是这个密码不对啊。这个密码多少叫74074088是吧。
30:05
确定。密码不对,密码。我自己担心自己。你,你这是什么。是74088吗?四报的错是密码不对,密码你这个多少改。你这个IP多少点九是吧。981127是吧。9862是他生日。方向没开满。关掉了。
31:06
哎,上去了上去了,上去了上去了啊来咱们用一下这个啊,就是防火墙的问题啊,点九对不对,然后这个是。981127行,来咱们编译一下啊。编译通过之后呢,我们运行一下。是不是连上了,哎,这个连接数据连的就是它的数据库。啊,行这个URL,咱们就说到这啊。
我来说两句