00:00
测试的话呢,我们也可以放这里测,但这块我就单独的再造一个吧。造一个这个啊,在do下边有个叫unit啊,再往下建一它的一个这个字包啊,专门来测试咱们上边这个customer do input靠不靠谱,在这个下边啊,点右键啊,我们这块呢,去新建一个,我就叫测试了,以前呢,咱们都是自己造个类啊,然后里边写那个圈test这块我就直接造一个几的test,起个名字。就是针对于我们叫customer。哎,Customer do的in input它的一个测试,诶可以这样来说,然后这块呢,就指明你到底想测谁,点一个browses,我想测的就是哎,它tr do的嘛。选中它OK。哎,就是我们这个单元测试这块呢,你看这样写啊,然后接着再点next,你想测试什么呢?我想测试这个类当中的所有方法。
01:02
哎,这些呢,我都不测啊,我就测他的所有方法,然后分裂式,这时候呢,你看他会自动的帮我们把要测的这些方法呢,名都写上啊。哎,那我们下边呢,就按照这个顺序的一个一个的去往里边测呗,就第一个叫test insert,哎,那test insert我们需要测的是这个,哎,Customer do里边这方法,这方法呢,都是非静态方法。注意这个方法非静态是正是对的啊,你别给它整成静态方法了,哎,我们得需要提供一个它的具体的实呃这个类的对象了啊,所以呢,我们CTRLC啊,需要造一个它的对象啊,那既然每个方法里边都要用,不妨我就写到上面了啊。我叫do了,哎妞哎,他行这个对象呢,你说我就不对外暴露了啊,加个private也行啊,这个先导一下包,OK先来测试这个叫insert do点这个咱们的insert。就叫insert是吧。那这这不是他这里边方法嘛,嗯,获取个连接啊JDBC啊us点二啊get一个connection啊CTRL1得到一个连接行,然后呢,我们再去new一个customer。
02:13
哎,有一个这个具体的对象了啊,哎,这个我们写一个这样的,嗯,这里边的话呢,这个ID你写多少有关系吗。比如我写个一对对没有用是吧,咱们主要呢,Ins色的时候呢,你看咱们是不是ins色里边光考虑这几个呢,那个ID呢,是自增的对吧,嗯,Name幕啊内幕,比如把那个。哎,小飞啊。诶,看进去。这个小飞虽然叫小飞,但是一点也不小是吧,嗯,体格还是可以的啊嗯,这个呢是邮箱啊,哎126.com哎不S这是个date型的,这个我就不演示那个simple data form me里边去配了啊,我就直接就写一个date,这里边我就给你,我就简单处理了啊诶写了一个这样的操作,实际上当中呢,我们可以用一下这个诶SIM data方面的格式化,准确的说呢,应该用的是解析是吧,把一个字符串呢,转换成一个data传进来啊,咱们前面说过这个事好CTRL1这呢得到一个C,看做一个inerl的操作啊这就插入了,这个呢,咱们不是那会说过,说你也可以去拿到它的那个返回值是吧?嗯,行,这块呢,我们就。
03:37
不那样写了啊嗯,最后呢,GDBC还us,第二做一个close资源只有连接,诶接的就不用关了,诶这块呢,因为你涉及到连接,涉及到资源关闭了,正常来讲其实还得包住来一个拆开。哎,这是个闹,哎,翻个脸哎,扔进来。
04:00
哎,这样子啊,这个呢,呃,如果能走到这,这个就意味着叫添加成功。诶,保存一下行,这呢,我们就做完了,看一下靠不靠谱,打开我们这个customers列表,往上提一下,先做一个刷新。哎,到这儿了啊,然后接着。OK,哎,添加成功,然后过来刷新,哎,就进来了。哎,这呢,我们是测试了其中的一个叫添加的一个功能,那么类似的话呢,我们就可以测试下边的所有的功能了,那这个所有功能呢,我们都是先有获取连接,后边呢关闭资源,其实套路呢,跟它是一样的,诶CTRLCL一下,我们先这样粘过来,主要区别呢,就是你获取连接以后这块要做的这个事。不太一样是吧,把这个我们删一下,这个里边你要这个也删一下,主要就是这块的一个区别啊,先把这个一个模板啊,算是从这到这CTRLCL一下都粘到这里边。
05:03
嗯,对,然后呢,就是写的问题了啊,就一个一个测一下。比如像这个吧,嗯,这个呢叫delete by ID啊连嗯这个嗯直接是调我们上面这个do点嗯,Delete by ID连接传进去想删除删除,比如说13号啊,这个数据这个就写个13,这个delete的话呢,我们也使用word了啊,那就诶这个不用接受那个返回值了,删除成功。测一下。哎,删除成功,然后过来张学友这边还有刷新没有了。啊,删掉了啊,下一个说。哎,这个update啊,做一个修改do点啊update诶是咱们这里的啊,诶好,诶连接呢,还是传进来,诶这有一个customer,这我们在customer customer等于你一个customer,这时候这个ID是不是就比较重要了,嗯,因为你要修改的是哪一条,就看这个ID了,比如说把。
06:13
改莫扎特吧,这是18是吧,18后边呢,就是你要改的,改成谁有贝多芬,改回去啊贝多芬,然后呢,贝多芬。哎,126.com啊,用的是网易邮箱是吧,然后后边是他的这个生日啊,诶生日的话呢,你看我们说过啊,说这个只要你这个格式跟我们对数据库里边那个日期那个格式匹配就行,我们这边比如写的它是。哪一年的咱也记不住啊,比如1876年,举个例子啊,零九杠零八这样写的。啊,不行,咱们这个customer这块没过去customer这块呢,咱们这指定是个date了啊,那还不行了。除非你这块你改成把它这里边改成是一个呃SP啊,哎这块我们就能过了,然后实际上呢,这个时候也能够往数据库里插,哎现在呢,不行,是因为咱们这个Java这一块给你限制住了啊,那咱们还是有一个data,这样我就不再演示还是那个解析的问题了,那这我就这样写一个啊。
07:20
好,嗯,做一个执行,那这个我们叫修改成功。保存。嗯,好,来过来这个18莫扎特,然后扎金,诶这个。那这就可以了啊啊,这个是1970年的,就这时候呢,咱们是这三个字段呢,其实都修改了,如果呢,你要只修改一部分,比如我只想改个名字这块不想改。这块做不了,是不是只能是回你这个update里边呢,看你这块了,对吧,哎,咱这块呢,相当于是就把这几个字段修改了,除非呢,就是你先获取原有的那个信息里边这个叫啥,然后呢,你这块还用人家那个执行啊,或者针对你的需求,如果你就想改名,你自己不行就再造个方法也行,哎,对,就在那个接口里边再提供一个方法啊,再接着说叫get customer by ID。
08:17
do.get customer ID连接啊,你告诉我想查哪条数据查,比如说19。嗯,CTRL1得到一个cut,哎,输出一下我们有cut就行,看这个我们就不要了。19。看哪吒。哎,这不,哪吒就出来了。哎,就这啊好,下一个查询这个表中的所有记录改头,嗯,CTRL1啊得到一个list啊,List点啊比较方便的,我们去遍历的话呢,直接用for each啊这样啊来执行。
09:02
OK,那这样呢,我们就把这个表中的所有记录呢,就都返回过来了。哎,这样啊,嗯,在最后呢,去获取一下这个个数do get一个count。嗯,CTRL1这是个count。表中的记录数为,诶,这个我们加上一个count。OK。那这个没问题了,好,接着获取最大生日第点get一个max的birth,诶,Max的一个birth。最大的。这个生日为。这样。哎,就这样啊,2014年1月17号啊,这个呢,跟我们在这里边查的是一样的啊,比如这块我们查询一下记录数,哎,诶这个是这个表啊,我们这个。
10:12
诶,16条记录,诶在这里边select,诶,Marks birth from customers。诶,2014年1月17号,诶跟我们这块查的是完全一样的,行,那这呢就相当于是我们在Java这个层面啊,这个体现具体的业务这块,我们其实只是涉及到跟数据库交互这部这部分这个业务了,诶我们具体呢就这样来实现,这属于我们后期要做的叫do层。哎,Do层就专门跟数据库交互的这个层面要做的事,OK,这个完了,然后呢,后续呢,如果我们要操作这个表比较多,比如说咱们提到书城里边啊,有这个book的表,有这个用户的表,还有订单的表,购物车的表等等,那这些表中的数据呢,我们都要有能力去修改,你只需要呢,去提供对应的接口,以及它具体的时间类就行。
11:00
啊,再比如说简单的啊,你像咱们这里边儿不还有个表叫order表吗?哎,你就可以提供叫order DAO。啊,Order do这呢给它说明成是个接口里边呢,你看你针对这张表你都想干什么事,哎在这里边去定义,然后呢,我们再去提供啊这个具体的啊叫order deal的input,哎让他呢去继承于我们叫base deal,哎同时呢去实现哎我们的叫order do的这个接口啊。诶,这样点个分类式,这里边呢,你去写那个实现类就可以了,来保存一下,你看就这样来做,那么后续呢,比如说我们在项目当中,这个咱们做的时候呢,通常接口呢,都是体现这个具体的规范或者标准了,那针对这个表呢,说我们回头又增加了一些功能,哎,你记得呢,先在接口里边把这个功能先声明出来,说我要干什么事,哎,然后呢,你再去实现类里边,把那个方法的那个实现呢再写一下,哎就是让我们这个结构呢更加的清晰一些,这就可以了,这是我们是叫do这样一套功能,哎,那么相当于我们最终的落地,对我们后期讲web呢,能起到作用,Do层面我们就诶把这几个。
12:16
这三个类,包括这个测试啊,需要大家落地,需要来写的。
我来说两句