00:00
行,那从今天开始呢,我们来讲解一个新的基础啊,叫GDBC啊,前面呢,我们应该是已经学过了,叫这个Java基础,有Java整个语言基础,大概时间呢,有一个月多的这个时间,然后呢,我们也学完了,这个叫数据库,诶数据库呢,我们用的是MYSQL,当然主要呢还是通过MYSQ来学习SQL啊,那么这两个技术学完以后呢,我们就继续可以学习另外一个新的技术叫GDPC。啊叫JDBC,然后呢,这是给大家发的这个相应的课件啊,诶课件呢,是在第一个位置还是呢,同样呢保留了两个内容啊,一个呢是macdown版的啊,一个呢是我们这个叫PPT版的,那我讲课的时候呢,咱们会以这个markcdown版来讲,以前呢讲的是用PPT了,相应的这个内容承载的要稍微少一些,诶所以呢,这块呢,咱们用这个macdown这样一个版本啊,这个是我的名字啊嗯,然后呢,章节的话呢,就是我们JDBC呢,一共是讲讲这样的几个章节,第一个呢涉及到JDBC概述,然后第二章啊叫获取数据库连接啊,第三章使用prepared statement实现c rud操作啊,针对于数据库的增删改查。
01:07
啊,然后呢,诶第四章哎,我们操作lob类型的字段,这个lo字段呢,我们在ma当中呢,简单提过啊,没有深入讲解啊,在这个数据库当中,我们常用的数据类型啊,数值型的像int float double啊,日期型的date啊,还有字符型的叫work char,或者叫字符串类型是吧?那除此之外呢,我们说还有啊,像这种操作二进制的这种大文件,比如说你是图片视频,哎,我们都统称为叫lob类型。那么我们就可以在Java当中,诶,通过Java的程序在融合相关的SQ语句啊,实现对数据库中lo字段的一个诶增删改。查询也可以啊,然后下边呢,演示一个叫哎批量插入。诶,我们批量的向数据库当中插入一些数据,那如何实现更高效的是,那这个插入操作,这个呢,是我们要讲解的一个内容,然后再往下第六章是一个比较重要内容,叫数据库事务,前面呢我们在讲数据库当中呢,没有详细展开数据库事务,我们说放到JDBC当中来讲解。
02:12
啊,因为呢,我们通过Java这个程序,呃,更容易呢,把这个事物呢说清楚啊,这就是数据库事务的概念,也是我们呃整个学习数据库的一个重点内容啊,然后在后面呢,我们就实现了一个叫DADA呢在咱们讲Java基础的时候呢。在哪块讲解过呢?泛型是吧?好吧,已经忘了是在讲解泛型的时候呢,我们提过这个do啊,因为当时这个do呢,我们说后边呢,哎,我们在操作数据库的时候啊,会封装一个类叫do类,这个类里边呢,我们会加一个泛型参数表示呢,就是你到底要操作是哪张表,对应到Java这块呢?是哪个类啊,当时我们讲过这个泛型,那么我们在讲GDBC的时候呢,现在就要把这个do呢,哎,带着大家一起搭建起来,包括呢去测试对具体的表的一些操作。
03:04
那么咱们学完GDBC以后呢,大家后边要学的就是咱们呃,一般呢,都习惯上统称为叫Java web这个内容了,其实呢,我们从这个呃讲数据库开始,已经脱离了这个Java语言本身了啊,我们去操作数据库啊,我们画一个简图哈,这呢是数据库的话,这呢可以看到我们Java后台,那么这就是前端浏览器端或者是叫客户端啊,那么咱们第一个月的时间呢,都是集中在服务器端呢,写的Java程序,学习这个语言层面,然后咱们也通过这个三天的一个时间来学习这个MYSQL数据库,当然主要呢学的还是SQL,诶这是独立的两个内容,然后呢,诶我们现在要讲的其实就是通过Java语言如何呢去操作这个MYSQL这个数据库,其实或者说呢,我们是,诶如何用Java语言融合着SQ语句啊,去访问MYSQL服务器,通过MYSQL服务器呢,去操作你具体的这个,哎数据库了。比如说表中的数据是吧,实现自然排查,然后讲完这个GDBC以后呢,我们再要学的就是前端的这个技术了,哎,涉及到HTM2啊,CSS和javascript,这是前端开发的三个核心的技术啊,三个核心的技术,那学完这三个技术以后,整个呢,其实就我们可以把这个前后的知识就都打通了啊,那Java web的话呢,就是从浏览器端一直到我们经过Java后台到数据库的访问,这个统称为就是Java web了,其实咱们现在呢,通过JDBC去操作数据库,仅仅是相当于这个环节一样。
04:35
啊,相当于这个环节啊,好,嗯,再拉回来就是GDBC啊,就是DA啊,我们要封装这个结构,咱们后边呢,再讲Java web的时候呢,咱们在we部阶段要做一个项目,就是一个书城的项目,这个书城的项目当中呢,诶,我们就需要封装这个do,或者说就要使用这个do啊,因为书城里边呢,我们既是及到前端,就页面上的一些展示,诶大家登录注册查看这个书城里边都有什么书,放到购物车里边,分页显示,增人改查,后台的管理等等,这就是书成的相关功能,我们在页面当中都有所展示,呃,展示,然后你对接的呢,就是Java后台,你得能够给我承接刚才说的这些业务,那么不可避免的我们要对数据库进行增删改查操作,那么这个增删改查操作我们就封装到DA当中,说白了就是这个JDBC里边涉及到一些技术,我们整个最终体现呢,就是在这样的一个DAO这个类及它的相关词类当中。
05:32
好,这是我们说的这个事儿,那按说的话,我们讲完这个七以后呢,基本上GDBC我们要做的事就说完了。但是呢,我们会发现后续还有两个章节啊,这两个章节呢,其实非常的重要,第八章提到叫数据库连接池。说前面呢,我们其实已经讲过数据连接了。哎,已经讲过数据连接了,没有问题,那为什么要讲数据连接池,那么大家就会想到我们在基础阶段提到一个也叫什么什么池,对,就是线程池,哎,我们也讲过说使用呃,集成S类实际让接口实间接口能够我去创建一个多线程,但是我们仍然又讲了一个线程池,对,那么这里的数据库连接池和线程池的好处是完全一样的。
06:22
啊,那么我们真正在开发当中,都不会自己去创建数据库连接的啊,我们都是使用这个数据库连接池来实现啊,好处呢,就跟咱们前面讲的一样,咱们到这儿的时候呢,再具体说,那么这里的数据库连接池技术呢,我们要讲三个啊,C3P0数据库连接池,DBCP数据库连接池,德鲁伊数据库连接池,那么这三个当中呢,这两个算是比较老牌的了啊,那么这个呢,是比较新的,是阿里开发的。啊,当然我们最终选的呢,还是德鲁伊,并不是因为是阿里开发的啊,是因为它具备我们上面提到的这个输油莲池的各种好处,哎,所以我们现在主流用的都是德鲁伊啊,然后在后边呢,我们提到一个叫阿帕旗下有一个叫DBS的一个包,这个包呢就可以实现,诶这个什么呀,我们上边讲解的这些功能的实现都是咱们自己封装的,就是我们自己实打实一点点在用S公司提供的API,哎,具体的MY厂商提供的API,我们自己写的这个do。
07:26
那么真正在开发当中呢,其实都用不着我们自己一点点去搭建这个这个这个功能的实现了,这呢,我们有现成的一个阿帕奇旗下的叫dbus相关炸包下的一些类,比如说dbus类和re类,使用这两个类呢,它已经将我们的增删改、查等功能封装好了。那我们其实呢,直接用就行,或者换句话说呢,其实这个课好像我们讲第八章跟第九章就行,是吧?啊但是呢,我们为了让大家呢,有一个更深入的关于啊GDBC的一个了解,不能叫了解了,应该叫理解。
08:02
啊,甚至有的同学呢,说我这个八九都懒得讲,为啥呢?因为我们后边真正开发中要用的都是框架,对吧?呃,至少大家应该听说过,比如说叫harbernnet,就算比较早的这个框架了,以前我们通常说的Java开发的SSH,这个H呢,就是harber net。啊,那现在呢,我们说呃,叫SSM了。啊,原来呢是t strats spring和net,然后现在呢是spring VC跟my beat啊,那么harbernet跟my beat作为框架,它其实是封装了我们JDBC的操作。哎,封装了JDBC操作,你要说我就不学JDBC了,我就直接学框架可以吗?也可以是吧?哎,但是我们为了更好的去理解这个框架以及它底层的实现,那我们有必要去学习JDBC,就跟咱们前面说学反射一样啊,咱们开发中自己学反射的机会其实不多,但是呢,我们会发现在外部阶段,包括像我们讲他MK以后,诶,它回头要帮我们自动创建sol等,包括这个框架的底层,诶怎么叫框架呢?框架就是等于反射加上我们的注解。
09:11
哎,加上你相应的设计模式,你可以理解成就是我们的框架啊,为了更好的大家去理解框架啊,有更好的一个发展,所以呢,你需要我们一些知识的积累,比如说反射你要懂,比如说我们这里的GDBC大家也要会啊,是为了你走的更长远一些啊好,那这块呢,就是我们简单的对这个知识呢,进行一个概述啊。
我来说两句