00:01
呃。啊,连接池小结这一块呢,大概自己读一读就好了啊。这个DBCP和C3P0的一个简介。这两个玩意儿,这两个玩意儿就是你读一读了解就好,为什么呢?因为这句话是重点。哎,主力是世界上最好用的连接式技术。最好用的啊。在网上会就是有一篇文章啊。这哥们是没事闲的,专门是把各种数据库的连接池测了一遍。表现最强的就是咱们的德鲁伊。啊都有,然后这个DBCP啊,是这个性能最差的。C3P0,比他优秀一点。对吧,但是朱莉呢,是。哥们就是一个完胜是吧,完胜啊。啊,如果连接词啊,记住了它也需要close。他也需要close,但是这个close并不是说释放。
01:00
而是说close的时候,它是相当于把这个连接对象放回水池中。这个概念一定要想清楚啊,它并不是关闭然后就消失了,反正把它放回来啊,给它放回来。好了,这是咱们这一章GDBC高级阶段的这个。总结啊。这做完了吗?这个。怎么样,不难吧?啊。不拿还用我写吗?挺有意思的哈。写写写。有的同学难,有的同学不难哈,那咱们统一写一写啊。首先创建这三张表,创建三张表。呃,分别第一个是in是吧。呃,叫登录ID和登录密码。And me?老给ID啥类型?真没说什么。
02:01
但是看着咱们的。题目啊。这应该是啥呀?我差啊,账号密码一般都是我差啊。我二。逐渐。第二个是PW也是。不能为空。OK。下一张表。用户表是吧,这个叫什么。哎呀,这个挺多呀,这个先,那先做等级吧。Christ。叫做是吧。Level I level name。LEV。哎。就叫这个是吧。然后是LV,就叫LVD。
03:00
这个啥类型?等级的话。应该是这玩意儿是吧。哎,一级什么什么什么什么地哈。对应的等级的图标。那等级的话,这个应该就是。呃,改个数字吧。然后是LV。Name。OK,这是这张表。表明无效,这个应该是关键字是吧,加个S呢。这不行了吗?看见了吗?我就成了是吧。雷沃斯啊。好,还有什么点呢,User in for。Table user before。
04:02
然后是u ID username。User ID username。还什么UPWDVD是吧?User。PWD。LLVID。还有什么email和online是吧?Email。On Wednesday。这是在线时长是吧,天数是吧。好UID的话,这是什么鬼?UID等级,然后是昵称。这个是。编号是不是就UID啊。UID是吧?好吧,那就是number类型。
05:04
我差二。密码等下。这个是LVD。NUMBER6啊。Email。六。行了,这张表上了。F9。然后接下来是不是应该初始点数据啊,看这里边都有什么数据啊。首先搞把这三张表搞明白哈,这管理员是不是就存账号密码了?这个简单哈。那咱们就往这里边儿搞,搞一搞一个管理员。Insert into ain。我爱柳丝。
06:01
IC密码123。是吧?来。等级。他说QQ等级分为是这玩意是吗?大家怎么做的这个?就一是星星,二是月亮,三是太阳是吗?啊,五等于是这个是吗。五等级,他这个这个天数了吧。写这呢是吧。呃,五级啊,320天为四级,大于320天为四级是吧。行那就知道了,那就把这这点数据给他搞理就行了是吧。Insert into。Insert into values不是。
07:02
Lev Le s y。一。然后是234。对呀,我还没写完呢。这个五等级就是这个是吧。一个中线是吧。然后呢,这个是星星。五角星,这个是月亮。大家是不知道我我这个月亮我找了多少多少图标才能找到一个挺像,而且还支持的这样的字符。打月亮不乱码吗?你说汉字啊。我就想整个图图形嘛,对吧。然后这个太阳。我这个我也找了找好久,我就看这俩圈还挺像啊。
08:03
好了,执行。而且这几个图标我都测试过了,是不乱码的。不会乱码。啊啊,这个叫QQ啊。然后最后一个查点数据吧。insert into表明为。忘了。User in four。然后56564。来看一看。他有没有注册功能啊。没有啊,这不有吗?就添加用户吗?那如果有添加用户的话呀,这个ID啊,第一个UCID,咱正常来说123456往下排嘛,你最好是别写这个,这个别写死,你给他建个序列,因为你添加的话,让它自动编号多好啊。是吧?下来啊,这个序列啊。不是EQ。Que啊,咱就叫u cid啊。
09:06
前面SEQ上。叫啊。创建。第一个就是SEQ杠,Us next。好,然后呢,第二个是昵称是吧。是是是这个玩意儿吗。输入用户昵称是不是这玩意儿。把这个对照这个写呗,是吧。你们的第一个用QQ号,这个名叫啥。哎,我那叫啥来着。忘了吗?叶孤城。不是我的啊,我瞎搞了啊,瞎听了啊,密码123。他这个没设置密码吧。咱直接等级是吧。
10:00
等会儿你。一个名密码LVD了是吧。他这个等级是个什么等级呢。他这块显示什么什么相应的是吧,那咱这块给他来个多少等级,是不是自己随便定啊。随便写的啊,咱就1234往下搞呗。别了,234吧,一不要了好吧,2343个等级啊。啊,这哥们是二等级啊二等级,然后这个是邮箱,邮箱咱就叫one艾特qq.com。最后一个是date。一级一级,那咱们写的真实点啊。一是在哪呀?这个我说的是这个啊。呃,就是从星式开始啊。他是五到三十二天哈,那给他来个20天。这是一条。三条得了。
11:00
三四。密码都是这个啊。叶不成。西门吹雪。然后这是二。他如果多一点的话,他这个时间应该多少呢。三百二来个200呗,行吧。然后第三个还有一个比较。英雄。四级,然后这是三。他这个天。天320天那365啊。三嗯,365。好了,三条数据搞。行了吧。咱数据都已经在这了,表都在这了,好了,开始搭建咱们的项目啊。Java项咱们这下。Homework。这几天。
12:00
第八天的是吧。好可怕啊。呃,该搞的搞一搞。啊,简单的我就copy了啊这个。没啥意思啊,好了,把这几个包弄上吧,都用到什么了?咱用数据数据数据源呗。今天学了吗?用新的是吧,这三包没问题吧。Copy了啊。然后这个配置文件没问题吧。好了,剩下的咱就手写了啊,不能copy了,Copy全copy没了。这配件在这呢。OK。在这呢都没动过啊好把这三个包呢添加到项目里。进来了。好,然后开始做。开始先建刀吧。第一个comments。里边放一个DB类。对吧。然后首先封装一个protected,叫做。
13:01
什么?数据源吧。State or是吧?然后呢,再来个方法,Protected。啥玩意?Protected。不需要返回,直接拿DS。这里面代码咋写的,还记得否?首先,Property。P,又一个property。包。然后PP点漏的漏的个啥呢。啊。Fair input。北边这些src相对路径下的。叫做DB点。
14:01
OK。尴尬了是吧?不六的话,他哪能自己创造出来呀。Check。这个呢,省事了啊。就留一个爹得了。来个组装。是吧,接下来怎么创建这个数据源呀。是不是数据源工厂啊?这个factory。不是。主体是吧。Judy that south。Factory。Factory工厂。点create数据源里边扔PP。然后它返回的是什么。DS被赋值。是这样搞的。哎,这个里边呢,就写成这样就行了。
15:00
爆黄的干掉。这个类是越来越简单。需要关闭吗?数据源嘛,自动往里关啊。好了,关了。接下来呢,把这个DAO和。Do的实现搭建一下啊,呃,咱们在这里边儿都有什么呢?首先是不是一个管理员的一个登录啊,第一个功能是登录是吧,那这个登录啊,大家看这个登录涉及到的是不是就是管理员这张表啊。对吧,诶就操控了这张表的一个登录吧,所以咱们通常把它起名就叫管理员相关的。啊,当然是接口。好吧,然后呢,接下来咱们这个过程里边是不是还有接下来就是什么添加用户删除用户了吧。这个用户的话,咱们这个表叫什么名啊,是不是叫user info啊,所以再来一个接口,再来一个接口,这个接口就是用户的。
16:03
用户的dau,管理员的DAOK。哎,这叫分层开发,不要说搞一个DAO全嘴里边去,那样的话太乱了啊。咱们开始定义方法。呃,Amin这里边儿是不是只有一个功能叫登录啊。呃,叫做。嗯,登录是吧。返回一个登录返回个啥呢。返回int来表示是否能够成功吧。意思老米。这意思,老给了就老给买。咋写来着,这么。输入账号密码呗。对吧。输入user。有啥内?输入。Password。这是登录方法。管理员都。管理员,是不是就这一个方法?好,实现类,等会再说啊,写上吧,直接实现的一个类。
17:07
对。点按飘。你干什么?R道的实现对吧,然后他要继承是谁呀?DB啊,就是个套路哈,完成这个里边具体实现,等会写。好了,管理员搞定了,是不是就user的了?来,咱通篇捋一下user都有什么功能呢?其实大概其是不是就是菜单啊。是吧,最后一个不算是吧。是不是前也就前五个啊,第一个显示用户信息,显示用户信息的话,就应该是个查询全部了。集合里边装的全都是用户信息。咱们这叫get。D、查询用户信息。
18:02
全部用户信息。一包。这个UC啊,没创建的,咱们先创建出来的。在pogo中。好,里边是啥?等会写写两个,别报错。第二个方法。是什么了?更新在线天数是吗?更新。在线的天数。哎,天数。Update呗。啊,不需要返回啊,一更新就拉倒了,所以就是更新days。行吧。好,里边传什么参你分析分析。来看他这个需求给的,当更新这个天数的时候,在哪里这呢吗,都输入什么了。用户编号和天数吧,是不是两个参啊。
19:01
OK,那就来一个u int类型的UID,再来一个int类型的。天数是吧。OK。好,第三个功能。第三个功能是添加用户是吧,添加用户。写成那个。添加ADDUC是吧,添加用户,那添加用户都需要什么餐看。Little。密码邮箱,咦。别的不用搞了。哦,等级默认为一,天数默认为一,好这俩都默认了是吧?OK,那就三个参数呗。账号密码和邮箱嘛,是吧。账号,我的个天,什么是账号啊。昵称昵称。第二个密码password,第三个为邮箱一麦。
20:04
OK吧?Email是吧?好,第四个。下一个功能是什么呢?更新用户等级。四啥意思啊?这啥意思?写个方法让它自动更新是吗?啊,我写了我改完的天数,改完天数的话,那个星星月亮没改过是吧。知道了,更新用户等级来。更新用户等级,哎,这个应该干嘛呢?什么都不没有,所以没啥反应是吧,而且你会发现这里边连参都没有看着了吗?就输入一个这个键键值一回车,他就开始结束就完事了是吧。
21:01
哎,就更新完毕了啊,所以咱们就是update LV。哎,就这样一下。好更新完之后等级之后,最后呢,删除用户是没了就。删除用户啊,输入一个ID是不是就删除了。所以删除用户五。Delete user。有啥?此类型的有。好了,五个方法全部定义完成。当然这是接口。接下来是不是应该。实现了是吧。点MPL就这个包,然后下边叫做user到实现。然后。D。这个呢?User到。完成。
22:02
行吧。接下来是不是就挨个写了,挨个写之前啊,我觉得有必要呢,做一个类。这个类呢在里边啊,因为你会发现咱们这个程序啊,是不是有一个菜单啊。这个菜单这些玩意儿,你应该在哪个方法里边写啊。所以呢,我单独建出一个类来,就在comments下就叫。Menu。菜单里啊。咱们就要开始菜单start。这个菜单呢。咱们怎么搞的?如果输入一就走一,输入二走二吗。对吧,所以呢,这是不是得来个SC啊。他的键盘输入啊。This system。点in。
23:02
这个菜单怎么搞,有点像小型项目了哈。呃,这个欢迎,这怎么写的,这玩意儿是。等等等等。呃,又忘了叫啥。拉倒吧,拉倒吧,记不住啊。然后呢?选择什么鬼,别整这玩意儿,就123456就完了呗。杠踢一下第一个。哎哟,我去,哎。2345还差一个。写啥第一个是啥玩意儿。更新在线天数,添加用户。
24:09
更新等级,然后删除用户。好这么一个菜单。然后下边是不是得请输入啊。啊,然后该输入什么,是不是输入啥呀。好,输入的话用一个变量来接。选择的键啊。一开始是零。肯定定义过毛啊。还是直接定义可以了。
25:02
Input点2NEXT int。是吧?好。如果是一的话。Brave。多少个?是。我。六是吧。这个六呢,直接就不用了。这些干嘛?退出了是吧,他们。EXIT。再见。好,剩下剩下这几个就改一下吧,2345。
26:01
是不是每一个都对应调,每调一个方法呀。哎,叫什么方法。是不是U这里边儿的12345个呀。对吧,所以嘞,我这块直接定义出来了啊。User info。那就叫。Do。不是我user DAO是吧。UD等于一个。DIMPL。错了。包。好,UD第一个UD点是什么方法来着?Get out是吧?哎,调这个方法。第二个有地点。电话干嘛呀?更新天数吗?叫。天数。啊,传两个参,传两个参,这两个参呢,咱们暂时先写成假的。
27:00
一和二。UD点第三个添加用户添加。三个是吧。先这么写上。第四个方法,Ud.update。LV。最后一个删除是吧,Ud.delete用户。好了,其实接下来的动作就是把这几个方法实现,是不是就搞定了。来先看第一个啊,第一个是什么时候进入这个菜单啊。看咱们的需求。怎么进入的菜单呢?首先啊,进行了一个管理员的判断,程序运行是不是得先走管理员啊。首先上来就是请输入用户,请输入密码。然后这里边儿还有一个用户的提示是吧。怎么办啊?是不是管理员相关的代码了。管理员,相关的是不是在这儿呢?
28:00
对吧,这里面是不是有个登录啊。得先走他,得先走他。好,然后这里边儿有什么输入,请重新输入,这么有这么一个东西是吧。来。写这个菜单的时候。没了。菜单在整个菜单,这是主菜单,咱们叫。慢star。STRT。这是主菜单,在主菜单之前是不是应该还有一个叫管理员登录的简单菜单啊。啊,得判断一下它是否登录啊,所以呢,首先之前就是一个。Void。叫做是否登录。别的了,就叫登录菜单吧。Log in。老哎。Menu。这start叫慢。
29:00
Menu是吧,登录菜单主菜单行吧。好在这里边儿呢,请输入账号。是,是这么写的吗?请输用户名,请输入密码。对吧,好习惯这块比换行。一个是账号。Next。一个是密码诶。把这个账号密码传到哪一个方法里进行登录啊。是密的这个方法里啊。哎,掉一下这个啊,所以呢,在这儿呢。Ad等于。另一个啊,Mean。
30:00
Still。实践类。包。来吧,Ad点。账号密码传过去。账号密码来PW。好,这个方法返回什么类型来着。手印财啊印啊。那这个in啊。我就可以进行自己定义了。我在这先给大家定义好。好,这个是参数,User name这边写上哈。这叫账号这个密码,然后返回值是什么呀。零表示失败,一表示。成功,我是不是可以这么写啊?然后这是方法的名称。这个咱讲这个加点金属的时候,讲过这个注释吧。这叫什么啊?什么?
31:01
文本注释。这个叫文档注释。叫Java doc注释。Java doc注释。这个洞是能能够导导出来的。那你说这个东西有啥功能吗?就是调用这个登录的时候啊,你鼠标拿上来看到了吗。下边。是不是更直更更多直白啊,多直观啊是吧,这样的话,咱们这个代码可读性多好啊。是吧?好了,那我这块我就知道了,哎,返回一个int I,这个I到底啥意思啊,我鼠标悬停到这个方法上,你看啊。他告诉你零失败已成功,然后你是不是就可以判断了?如果。I等于一怎样?如果一的话,是不是调用下面这个菜单啊。对吧,否则呢。这块告诉你提示了吧。
32:02
请重新输入吧。请重新输入。又这个,请重新输入这个。对吧,同学感受到了。哎,这块还有一个非公验证的是吗。哎,当用户密码为空时,提示请重输入哈,那咱们这块得做一个验证啊。怎么验证?如果。是不是得判断账号密码是否为空啊?咋判断是否为空?这么直接等等于空啊。是这样吗?这样不一定能判断出,判断出来啊。点。认识。长度等于。是不是空的。对吧,或者。
33:00
密码的长度等于零。对吧。把这个搞上来。这块咱就别说输入错误了,这块来直接来个什么呀。账号密码不能为空吧,账号或密码不能。所空。请同意书。好,那请重新输入的话,咱们这个程序这个位置是不是再给我跳回到这儿来呀。哟,这咋弄啊,这玩意儿。是不是循环了?全循环上。行吧,这块呢。给个死的钱。先来个死循环,啥意思呢?就是进入掉这个方法立刻进来,然后往下走是吧,判断如果到这儿的话应该怎么办?怎么才能从这块儿再次回来?
34:04
Break。肯定吧。就从这个这这肯定这啥意思来着。结束本次进行下一次是吧。啊,到这儿的话,它是不是就从这儿再来了,然后继续往下走,如果不等于空的话啊,这个是不是没啥用啊,往下走,然后登录。啊,这个就不是输入错误了,这个是什么呀。账号密码不匹配是吧。密码,密码不匹配。密码登录失败是吧。登录失败,登录失败你还还给他循环,还给他机会。登录失败就登录失败了啊直接。再见吧。停了。行吧,咱看一下这个这个流程,看看成不成啊。行吧,这个呢,我为了测试方便,我先给他直接写个1OK,我先写死了。
35:06
来吧,测试测一下。是不是向的就是menu menu。Radio。I。首先是应该就是管理员的登录菜单上来就运行吧。账号密码。哎成了哎成了啊对,我先死了是吧。对吧。但这块你会发现它不涉及到这个问题,不涉及到空不空的问题。啊,这个这个扫描仪这个就恶心了是吧。扫描仪这块一般情况下是不能为空的啊。所以这个判断好像。搞得好像好没用啊。
36:01
哎,能空格是不是能判断判断出来啊。讨厌这人啊。这咋就进不来呀,这玩意儿。你说用line扫是吧,扫一行是吧。嗯,扫一行应该问题不大,空空格。空格。空格是不是也行啊,来,再来,这回我不输入空格了,直接回车。这回可以了是吧?好,那想办法是不是把空格这个问题规避掉啊。好,空格的问题咋搞来着,还记得不?有人想起这个方法了吗?吹美啊。用。是不是一下啊。试下啊。可以了吧。
37:00
哎,对,拍空格是吗?拍空格。可以了吧。是把空格这个问题搞掉了。好了,那咱们这个菜单目前写到这儿的话,这个是不是调登录方法呀,叫ad点点log in是吧。账号密码给我搞一下。变量吧,还是。换的这个更专业点啊。行吧。账号密码。好,整个项目的结构呢,就已经搭完了。接下来的事,接下来的事,大家知道接下来干嘛了吗?是不是就是这两个实现类开始写,跟数据库打,要代码结构就完事了?对吧。呃,入口呢,肯定是测试啊,走你这里边。输入账号密码。来输入账号密码。当然现在是不匹配的哈,因为方法是返回零的。如果成功的话,尽量走一下,走一下这个菜单的一步步往下走就可以了。
38:07
好,第一阶段项目搭建搞定了。
我来说两句