00:00
那么我们有了DBU求还有什么呀,还有我们这个前面讲的这个,呃,JDBC的这个知识是吧,以及我们这个gd BT tools到这块的话,我们可以相对而言写一个。比较通用的也有了。再说一遍,到这块的话呢,我们写一个比较通用的DAO了,这个DAO的话呢,在我们做GDP操作的时候,它会有一定的利用价值,我们来看看如何来写这个DAO。过来。BAO。好了,那我这个DAO的话呢,到这块我们要说DAO本身我可以写成一个。一。为什么呀,因为我这个DAO啊,可以有不同的实现,比方说我用JPT实现的,用现在用GPU求实现的,还可以用har实现,还可以用其他技术实现,所以说我们把这个改成一个接口,这是我们方法向好。
01:07
The,什么问?嗯,数据的DAO接口里边。定义好。访问数据表的各种方法。好了,那写吧。我们看哈,肯定会有一个update吧。怎么写啊,我们可以写一个connection。再写上一个string的circle,再写一个object的类型,可变参数的一个。好了,这个方法。
02:01
干啥用的?说颜色画都可以用,这个是数据库链接,这个呢。高一,对他呢?天窗。但未服大,但未服大可变参数不够。好了,这是我们的update,还有什么方法?我还有查询查询我查出一个对象来吧。那这个查询的话呢,我可以在我这个接口上面写一个。啊判行,就是说回头呢,我们在有这个子类或者是实实心类的时候呢,可以来用这个T,好吧,说说这个T吧,艾T干啥用的,叫DAO处理啊。
03:16
尸体。类的类型啊干这个用的啊写一个T,根据什么来写呢?啊也传出一个connection。好,也传入一个端口,可以传入什么呀。还传入一个object类型的啊好,那这个就是返回。返回。一个T的对象一条吗?好吧,底下几个参数我不写了,还还有还有可能什么,然后一组吧,T four。
04:10
有他。怎么写呢?Object类型的。啊,同学会问老师,我返回的时候,我记得还需要转class,你这个工程class靠谱吗?我们有办法给他搞到,好吧,这就是返回T的一个集合,还有可以什么呢?还有可能返回某一个值吧,返回某一个值啊,这个翻译自己说明了啊,亿,比方说返回总人数啊,返平均工资啊,返回某一个人的名字啊,E get for,一个value,那这个方法就是。
05:04
Connection。好了,也需要传入一个色,还需要写一个啊好还有啥的呀,返回一个。具体具体的一个值,例如,呃,总人数,平均工资,比方说某个某一个人的email等。嗯,还有啥。你能写的还有。操作没写呢。Point。哎,样操作的话呢,这里边有方法。什么方法呀?
06:02
里边有两个方法。看认识有两个啊有两个,一个是传什么呢?啊带connection,我们说带connection那块connection一个circle,它是什么,这么这个二维数轴。我要是处理一条色口的话,我是不是需要一个异位数数,一位数数是填那个单位符的吧?好了,我要是想批量处理多条的话,我是不是需要多个偏占位符的速度啊。那就是一个二维数组吗?这个写法的话应该这么写。然后呢,一个然后。Object类型的可变参数叫X。这个也是可以的。
07:00
写好有什么呢,要批量。处理的方法,说说这个吧。填充但被符的object数组类型的可变参数。写完了,这是一个接口。然后的话呢,我们需要提供这个接口的具体的直线类写一个吧,我这个实现类的话,那叫JDBC。看接DB Co。好了,译成这个接口DAO。好写好这里边儿的话呢,需要提供其所有的。方法。
08:09
好写好了,这边这个泛型的话就得用。就得用好了,这里边的话呢,我们知道我们这个时候我们可以使用什么呢?我可以使用说使用reno提供提供其具体的实现。咋实现了,这个是。子类虚传入的泛型类型,我们再说是怎么用一会儿啊这说吧,来我具体用的话呢,我怎么用呢,我需要写一个。卡通啊,DAO这卡通力又怎么样啊?需要继承JDBC。
09:00
我传一个。哎,我这样写,然后的话呢,这里面我们可以提供部分实现,可以完全不提供,我就我就这么用了,我们最终测试的是谁呢?测试的是它。看着。单元测试类,这个过来。下一步说这种的方法保存好了,比方说我说是这个方法咋写来。我写一个connection。是要的啊,等于no,别的不需要了,Y。1.finally咋写d bc to.release now now connection,然后我得到一个customer行connection吧,等于bc tools.at connection,然后写一个string的circle,等于看写法啊,Select ID name,这什么叫car name呢?Name,然后。
10:28
Email一个from customers。再然后YID等于问号吧,我整个五出来。等于。Customer do整个都是它是吧?来写一个customer customer do等于new customer DA好了,然后看我叫customer DAO的。
11:06
钙的方法,Connection circle参数五,好,我希望这样能跑起来。这是我的目的,我看怎么调的,我在调这个方法的时候过来看啊,点它是跑这来。啊,这个方法在哪定义的呢?在接口里边定义的,让我们定距,定距里实现怎么实现呢?我们讲了讲了说呀,宽是现场安全。烦恼等于闹。然后构造器里边GDPC,我创建rener的实现类。好了,下一个下一个我们知道啊,我们在获取的时候,我是不是需要传入一个class啊。
12:09
那个写法啊,这个写法的话呢,实际上我就这么写。点奶糕。这个circle,这应该是六。什么?Handle是不是需要传一个态度啊这块写。运行。好了,这个type呢,我得写一下子呀。因为实际上不止这块需要type,我这个get我是不是也需要type啊,于是我这块我来写一个。Class t tap,这个T我们可以,这个T我们可以得到,大家记不记得tap等于。
13:08
因为我们讲过一个。记得我们刚刚反射的时候讲过,讲了一个reflect吧,我copy。不出来。跟上,哎,等于。Reflect you get super。Class。这什么呀,写get class好。这个方法异常,不管强转。宜昌为好吧。异常外抛比较麻烦,为什么呀?因为这块要是抛的话,前面的那个接口也需要抛。
14:00
好吧,好了,每一个里边的话呢,我都抛一个色里在就是这个异常我们我们不处理好了,写完写完之后的话呢,我们来测试一下好不好用啊。可以吧,哎,这是我们最终的一个。直线那这块的话呢,我们写的这个DAO啊,会有一点意思。其他的方法的话呢,写的这个过程跟这个差不多,我们来画一个图,看一看整个这个继承关系是什么样的,Close哦。来来,我们首先的话呢,定义了一个DA接口。这个接口长成这样,这个接口里面定义了几个方法呢,定义了这样的,嗯。五个方法。过来我们跟大家讲是吧,我们为什么定义这个接口。
15:08
后来这是一个接口,好了,为什么定义这个接口啊,因为呢,我们在进行具体实现的时候呢,可能不只是有JDPC这个实现的版本,可能还有其他版本,比方have实现版本,比方说实现的版本,这个时候的话,我们定义了这个接口,然后呢,从第具体定义了它的一个实现类叫什么呀?叫JD p c do input。那这个是它的一个实现类,这个里边我们看一下它的这个什么吧,它的line吧,哎,实现类,这个实现类里边的话呢,是这么写的。后来也就这几个方法是必须要有的,这很正常。这么看吧,钱多了几张。过来啊,这是什么呀,这是它的一个直线位。
16:06
他们之间是什么关系?是实线关系吧?于是我来画一个图。直线。空里。虚线。哎。啊,那我这个类的话呢,实现了它其中这里边的话呢,我有我有什么呀,我有两个可变量,一个是宽re re是我自个创建的呀,还有一个是type,这个type的话呢,我们前面讲课的时候讲过怎么写的,是不是利用反串来获取的啊,给它这个代码的话呢,我复制一份在这呢。
17:10
这是这两个复制的过程,其他的话呢,很正常了是吧,其他的话呢,我就直接要用什么呀,要用这个,嗯,具体的。具体的这个呃,代码进行直线的就可以了,好,那我们看到的用的是谁呢?用的是这个叫customer,过来看customer DA在。是。好,我目前这个customer啊,是不是我的呀。什么都没有。我只是在出现dau的时候,什么样传入了一个,传入了一个什么传入了一个这个customer类。过来这个是我的这边暂时我没有定义自己的方法,回头的话呢,根据业务需要的话,有可能需要定义一些自己的方法,但定义自己的方法的话呢,我们完全可以根据上边的进行搞定复制来。
18:14
A。他是谁呀?他跟他之间有一个叫。CTRLCCTRLV和它之间有一个什么关系啊,叫呃,直线叫D乘,负类叫D乘,上面那个叫。时间接口。这个需要是实其。好了,就是我们这个关系,那我们最终测试的是谁,测试的是不是customer啊。那我我CU里边当然会有这个,呃盖啊。看的方法。好了,整个这个过程就写完了,那我们这个方法实现在哪呢?就实现是在这个里边用块re进行实现的,实际上我是不是也一直到了一步啊,那这个可以实现其他几个是不是一样可以实现啊,那我这个可以测试其他几个是不是一样测试啊。
19:13
大家把这个。Customer DAO以及TT bc Bo音符完成,而且像我这样去测试其中的方法。
我来说两句