00:01
再来,我们再接着看啊。好。嗯,这个接口我已经写好了,下面呢,我肯定就要写接口的实现类啊,接口这个里面的方法都是抽象的嘛,它都没有方法主体肯定不能运行吧,咱们来写个时限类。好,我写个包叫m po,然后呢,我写个叫fruit do po啊,这是个类。好,我让这个类呢,我让它实现实现一下float do。然后我要实现里面所有的方法。没问题吧,啊,这样我就能实现你们所有的方法。再来。的do在这呢,嗯,我们要来实现,就这个时候就用了我们早上讲的JDBC的知识了,咱们一起来看一看啊,一一个来做第一个。这是查询一个float的列表嘛,所以咱们先准备一个列表吧,List,好,Float list等于new a list。然后呢,咱们最后把它return掉float list可以吧,那行,然后呢,第一步我们要去加载驱动嘛。
01:06
那就class点。好,com.MYSQL.jdbc.driver这第一步。呃,这个地方呢,我问一下同学们。我out回车大家看一下。Exception,你看一下,他就给我一个提示。他怎么会给我个提示呢?我们不是对外路子吗?哎,因为我们这个接口里面,你是不是没有抛异常啊,那是不是我们子类不允许抛出比父类更大的异常啊。也就是说访问修饰符不允许缩小,但是异常不允许扩大,是这意思吧?好,所以说呢,咱们接口里面没有抛,那这边咱们也别抛了,我们就当场把它处理掉,开启我们选择track开行不行,同学们。好刷开启。好,这第一步加载驱动。啊,我们再继续加注释啊,加载驱动第二步,我们要通过驱动管理器获取连接对象。
02:08
好,Driver manager.get那我们需要三个GBC。LOCAL3306-FDB是吧?同学们问号use unode等于two,嗯,And。Character including等于UTF-8AND use s SL等于false,没错吧?再来,用户名是root,密码是123456 OK。好,这是我们的connection。好,先添加个异常,然后再来。Connection。OK。第三步,我们要去编写SQL语句。编写式鬼军石俊。Circle等于,嗯,查询嘛,Selection from t没错吧。好,那请问一下第四步,我们要编写预处理或者叫创建嘛,创建预处理命令对象。
03:08
嗯,PT等于statement。搜狗一句好。好再来,那请问一下要填充参数不。要吗?不需要吧,咱们这边没有问号是吧,所以我们就直接执行执行查询还是更新啊。查询,因为我们是select PSm.XQ的。Cory吧,好,X6的括Y,我们会得到一个R对象。好,Result set对象。然后我们要去。解析吧,解析S也就是解析结果集Y循环s.X是不是咱们上午讲的呀?那想象一下我们那个表五五个列还记得不?第一个。Fi get1可以吧,第一个,第二个是不是FM get string第二列。
04:04
再来第三列,是不是价格price s.gET第三个。再来。下面一个还是int,这个是库存是吧?库存在的第五个备注是吧?Remark等于i.get string第五个。那行,同学们,我们是不是应该把它封装成一个fruit?New fruitfid。F price f以及mark,那行吧,呃,报错了,报错咱们点进去呗,点进去是不是切割的方法哟,好,CONSTRUCT12345,好O向左再回去。好,然后咱们再把它加进去,Float list.at fruit把它扔进去。OK。再来,怎么咱们这是第六步,我们还有第七步,第七步指的是释放资源,我们补在这儿,Finally。咱们开其发量的,发量的时候表示无论如何都要执行的代码,好回到这边来,IFS不等于了。
05:00
啊,如果你S不等于空,那么我们要把S填close。哎,这个地方怎么回事呢?为什么啊?你这个S是不是放在这个TRY的这个大括号里面啊,那你出了这个大括号是不是就看不见了,那行吧,咱们把这个S剪切。啊,我们放在这个方法的外面。那这样吧,同学们,我干脆放成成员变量算了。行不行,可以了吧,我变成乘以变量,是不是所有的方法都能用了吗?啊,OK,剪切。放到这,以此类推。还有一个剪切。把它放到这。PSMT好了,那这样的话这边就没有问题了,好,这要刷开启一下刷开启。刷开启之后,咱们把这个衣服语具啊,要把它挪里面,挪到里面去啊,稍等。嗯,剪切一剪切放到这里面,然后呢,把这个剪切挪到这里面去,然后选中它。选中这些ctrl shift f格式化一下。
06:01
好。那行,这是第一个,第二个if p SMT,如果你不等于呢。啊,那我们也把你close掉点。再来if connection不等于了,并且点is closed啊,如果你是打开的状态,connection.close把你关闭掉。那行吧,这个方法咱们就就把它写完了。好,我们再继续。下面的方法我们也一起来写一下,下面的方法我就不再一个个去加注释了,行不行,同学们啊,我不加注释了啊,我们快速的把它实现一下。好,第一个我们要加载驱动class.for org点,那我觉得这个驱动,嗯,这个太长了,剪切。把它放到外面去,Final。Driver,可以吧,同学们就这样子,Final再来。子俊,URL等于从这里到到这剪切。
07:04
把它放到这。行,再来final子君叫user,等于root。好,Final string。Password等于123456。好,Final修饰变量表示这个变量不可更改,表示它是个常量。Final修饰方法表示这个方法不可被重写,或者叫不可被覆盖,是吧?Of right,如果final修饰一个类,表示这个类是一个太监类,它不能有子类,是这意思吧?啊,Final OK。好,所以我们这个地方咱们写一个叫driver。Driver。根据C,根据V,好,就这样子再来。嗯,URL咱们把它放在这儿,下面一个是use use了。就是它password,从这到这password。
08:04
好。就把它改成这样,那下面这个方法就变得比较简单了,大家先不着急啊,那个已已经有同学感觉到这边代码感觉有点重复了,是吧,后面我们再修改啊,先不着急,我们先一步步来。好,Driver,其实大家要理解我,我比大家更难说,是吧?开启啊,这第一步加载驱动,第二步drive manager。Drive manager.get connection121 user password好,他会给我们得到一个connection对象。OK,那咱们再去开启一下。At at exception,好,就这样的,再来第三步,我们要去编写SQ语句。那这个是一个添加呗。Insert into t-flu。好,Values。好了,严说老师这边是添加,那这个地方的添加,我要不要考虑那个名称是否已经出现了呢。
09:02
好了,同学们,这个地方是不需要的,那我先给大家先把一个概念,先把一个结论,咱们先说一下,这是DA,我把它写在这啊,稍等一下,我还是放在read me这个地方啊。放到这个里面啊。Do的概念和角色。好DA,我们称之为。称之为叫数据访问对象,其中的方法都是单精度方法,那现在大家可能就要问了,什么叫单精度?什么叫单精度?单精度指的是单精度指的是指的是这个方法的力度。不能再分了。单个的单精度不能再放了,已经非常细了。因此我们也称之为啊,因此也称之为细力度。
10:02
称。称之为,称之为叫细力度。细粒度设计。咱们do层。比如说什么意思,我这是添加。我就只考虑音色的。具体的添加的,添加的时候是否重复呢?不用管是否重复,咱们是查询操作,咱们再交给这个查询去搞定。然后我们的业务方法添加,里面包含了添加和查询的组合。我再重复一遍。Do层叫数据访问层,它其中的方法都是单精度设计。什么叫单精度?一个方法只考虑一件事情,添加就只考虑添加,查询就只考虑查询。那么我们的业务方法听好了啊,听好了我们的业务方法添加。是它不是一个单精度的。我们的一个业务方法添加,里面包含了先查询,再添加或者再修改。
11:05
这是不一样的,所以我说的两个,一个是DAO当中当中的方法,一个叫业务方法。好,我们现在先不做笔记,不着急,后面我还会再详细的去讲,这是咱们第一次听一下这个概念。所以这个地方DA层的添加,那就是纯粹的添加。好,Ins into t fruit value值第一个是主键。这个逗号要注意了啊,看好了,我现在写的是中文的逗号。这这不对啊,英文的逗号,然后名字价格,库存备注。好。再来PSMT等于statement。搜狗一句。其实我现在写的代码不不能算是新课,只能算是咱们上午的复习。对吧,咱们都写过的是吧?行set string,第一个是不是名字啊,float.get。
12:00
再来PS MT set in,第二个flood get price。第三个PS mt.set int库存点get count。好,最后一个备注。for.get remark,那我要执行X update。好,我们啊,我返回的是不值,所以返回它大于零可以不。行不行,同学们。能能看得懂吗?他本本来这玩意返回一个数字嘛,那我判断这个数字是否大于零嘛,大于零就给我一个不瓦值嘛,就这样子好发的。Finally哎,请原谅一下,实在不想写了,从这到这,CTRLCL一样的吧。一模一样的CTRLCCTRLC,有人说老师不一样,你这里面哪里有S对象,那行吧,那就把这S删掉可以吧。其实不删也没问题的,因为你这边没有S,那S可能就是空的嘛,咱们就把它扣掉,扣掉也没问题的。啊,当然了,咱们close完之后,你可以再写一句话,等于呢。
13:00
把它再重新复制到也行的。啊,也是没有问题的,那行吧,这边没有S,咱们就删掉不要他了,就这样的。好,这是添加。再来。下面一个是修改。修改我还是写吧,啊,还是这个,还是忍住不要复制了啊,这样大家会更深刻一些,Class for name。好,Driver。第一步。刷卡机。大家注意听啊,注意听,坚持一下,困的话就站一站啊,Drive manager.get connection。121。Use password,好,给我们得到一个connection对象,那行,我们去开一下。好,再来so口一句,嗯,阿布的嘛,阿布的T杠特。Set,我们这边修改的话,同学们是不是修改的话是不是是追加那个库存量啊。
14:01
哎,是不是啊,那我要不我就修改那个f com的那一列算了行吧,同学们。行不行?Wellfid等于一个值啊,我就只修改F杠的这一列。啊,我发现这个外面风的声音比我声音还大啊,他一直他一直在和我叫板是吧。来。再来。这是搜狗语句,再往下PSMT等于statement搜狗语句。这个大家如果困的话,你就想象一下你现在在风中听课是吧,有多么的冷是吧,应该就睡不着了啊。PSMT点。来请问一下set in特还是赛特主君,嗯。In特吧,因为第一个问号是F嘛,F是整数嘛,是吧,同学们,那行第一个问号,那咱们写一个float.get f可以吧,然后PS MD set,第二个还是in特吧,逐渐的值嘛,Getd。是吧,同学们,这就是修改。啊,这是我们的修改,再来再往下,也就说老师修改不是根据名字吗?大家先不用担心啊,我这边写的ID好,再来PS mt.XQ的。
15:09
Update,那咱们这边再写一下return,它大于零。OK。好。Find find的这个我就不写了啊,我直接把它拷贝过来,从这到这CC。把它挪进来,就这样子,好,这是update,再往下坚持一下,还有两个。再来第一步,class.driver。第一步。好。稍等一下啊,写错了。稍等一下,我看一下啊,没问题。好,再来选择啊,表示包围的意思,再来drive manager.get u21user password。好,他会给我们得到一个connection对象,Connection。
16:00
好,这个前面声明把它去掉,不需要再来,再往下,我需要一个搜狗语句。帮我看着啊,反正我拼错了啊,Selection from t on fruit will,那或者等号都可以吧。好,再来PSMT等于connection点把四个语就把它放进去,然后呢,咱们再圈开启一下。好,没问题,再往下要填充参数吗,同学们。要填充参数吗?需要吗?啊,需要吗?需要的吧,需要和不需要的依据是啥,同学们?就看你这玩意,你这个社会句里面有没有占位符嘛,有问号咱们将来就需要填充进去嘛,是吧,同学们,所以有问号嘛,是吧,好,PSMTPSMt.set set in台的子军。哎,赛君第一个吧,好把FM把它放进去再来PSMP.xq的查询还是更新。查询还是更新?
17:01
查询嘛,你只要看你是否执行的是select。Select表示查询嘛,所以咱们这边就是查询好得到一个结果集。再来当前我们这个FM,我们认为FM不重复好不好,所以最多只会查询了一个,那我就写个if I next,如果有值的话,我们就开始获取了。我上面写的是select星,那么结果机请问一下是不是应该是一行五列,想象一下。有一行记录,但是它有五个列,第一个列是不是fid?s.get in第一列。第二个,第二列应该是FM。第二列我就不获取了。因为你第2.fm查询到的一定就和这个相同嘛。你不相同,怎么可能会查到呢,是吧,同学们,所以FM我就不获取了,我直接获取第三列,Get in第三列。再来TF。等于s.get。Int第四个你说老师这个1234是不是一定要按顺序,不一定的。
18:03
不一定要按顺序的啊,Get string好第五个。词卷mark OK,那我们就return一下呗。New fruit ffid pricemark,把它放进去。行吧,同学们,这样就把它出去了,好,Finally,咱们再补一下。把它粘进去。那这边要要要多一个S对象了,咱们回到最上面。是吧,同学们现在已经有S了,咱把它拿进去。好,回到这边来。那行啊,这个方法我们就把它写完了再往下走,这个是删除诶。删除。那行吧,嗯,class.for driver。好,我们先开启一下。OK。再来第二步。Driver manager。
19:01
点121。Password,好,得到一个connection对象。好。再来。嗯,编写搜狗语句。等于。Delete delete from t杠、float will FM,一个值吧,就这样。那行PSMT等于点statement搜狗语句,请问是否需要填充参数?要的吧,有问号就要PS MP set in的卷。应该是string,咱们是FM,是不是同学们,所以string第一个FM把它扔进去,PSMTXQ的。Update,还是corry?应该是update的,因为咱们是执行的是增删改是吧,同学们return一下大于零,现在大家应该能反应过来了吧,啊,现在应该能反应过来了啊好,从这到这CTRLC。再回到这边来。Finallyv把它粘进去好了,就这样子。
20:04
好,这边怎么还报了个警告呢?W给扣的啊,他说这个代码是重复的,你看ID还是蛮智能的啊,他说你这玩意儿重复好多次了,这叫代码冗余啊,这样写的话太难看了,不过没关系,咱们先放着吧啊,咱们第一步先完成功能,完成功能之后再考虑其他的啊。行吧,差不多,反正199 198啊,差不多不到200行,咱们把它搞定,那行暂时先这样,不要害怕啊,不要害怕,现在是200行,咱们最后会把它精简的,只有50行啊,不要担心那行这个第五咱们已经写好了,下面咱们再回到那个图呢,咱们画的图。第五层咱们已经实现好了,上层的menu是不是要进行调用啊?那行吧。
我来说两句