00:00
好,那接下来呢,我们就完成这块内容,完成这块内容呢,我们搞一些辅助啊啊来,比如说在这边呢,咱们把它写上。啊,比如说写什么呢,叫MY。可号久点。Get s function对吧?好呃,那这里边呢,我们要写这个so语句吧,啊,比如说怎么写呢,就音色。Into对吧,T表明嘛,然后Y64。括号啊,比如说问号对吧,咱们几个字段啊,来看一下这个账号B里面。六个字段吧,啊,那我们表跟招聘一样嘛,对吧,啊那六个字段。好。六个字段有了对吧,这是我们的四个语句。把这个拿过来啊。嗯,那我给他。比如说就定在这儿。可以吧,啊或者说呢。点在这。
01:01
这个就是它的。他在哪儿呢?是不是啊,那我们现在呢,要把这个T。东西给他搞出来,给这个里边赋值,那如果不是T,如果是一个qword病,那太简单了。对吧,你直接就set,因为keyword b呢,它有这个get set方法,而泛型对象它有吗?T点。Get,它只能获取它的什么大的class对象啊?它只能获取他的大的class对象,它并不能获取具体的。什么字段?对吧,没有。啊,并不能获取具具体的这个字段。呃,那怎么办呢?那怎么办呢?有没有什么想法啊,开动脑筋。调一调你的。
02:00
Java库啊,就是你学习的Java知识点呢,在脑子里边调用一下,想一想这块我们可以有什么办法去解决。当然有一个办法,就是说把这玩意儿做一个参数传进来,对吧,我们现在就不想传进来,就想在里面写死。暴力一点,怎么暴力?怎么暴力?啊,反射。有多少同学还记得反射?因为我们不是要获取里边的一个字段嘛,对吧,啊,那就记得这个名词了。
03:02
因为现在呢,咱们是一个泛型对象,对吧,并不是一个具体的类型,咱们没有什么get set方法可以用啊,那用反射的方式呢,我就把所有的字段全部都获取到不就可以了吗。对吧,那这块能不能用反射呢?其实可以。对吧,就可以用那个反射啊,那我们来写一下好吧,那首先第一步,那肯定要获取大的这个克拉对象了啊。好大的克拉对象。比如说我们叫。加这个对吧,或者说这样吧,这样好像还还不比较波浪线看着舒服一点对吧,接下来呢,我们要通过反射的方式去获取所有的字段啊。把这个写到这儿了。
04:03
好,那这边呢,CLZ点。Get。哎,那。还有一个。这两个看上去都是获取这个所有的字段,那它俩有什么区别啊。啊,估计大家对于这个反射这个知识点应该不太记得了。啊,就像那个强总所说对吧,呃,就记得这个名词,其他的关于里边的东西应该不太行了。对吧。来,我们来看一下啊。我们来看一下对吧,你点进去它有说明的get。对吧。呃,他能够获取到的是什么呢?看啊,他能够获取到所有的。
05:04
Accessible public affairs。就是公共公有的那个数据对吧,这段,而这个呢来看啊。它能够获取的是。当前包括了什么?Public protected default?Private对吧?啊,所有的这个类型的都有啊,所以呢,我们用的就是第二个啊,用第二个第一个呢,主要获取的是public的对吧,那我们有可能磁带定义的时候呢,叫private对吧,那都可以获取到。都可以获取到对吧,好,那接下来呢。呃,我们要获取所有的这个。数据对吧,所以呢,我要便利。字段啊。电力这个。是不是,哎,那这样编译其实不好,为什么呢?因为我们要干什么事呢?往这个prepare statement里边去赋值,给它赋值的时候。
06:06
爹。Set object,他要一个什么,要一个位置信息吧,来看啊,他要一个permit index,要一个位置信息,所以呢,咱们不要用这个啊,虽然可以对吧,那点。我们用什么呢?用for I。用for I是好一点啊,刚好有这个I对吧,刚好有这个I好呃,那接下来呢,不如这个我叫,我叫这个名,这太长了,看着不爽啊,叫非得了对吧。呃,那接下来就是我们所说的用反射去获取这个数据的,那fail先把这个字段名给它获取到对吧?哎,提取出来啊,二加V,那得到这个field。好,那我们来讲一讲反射,它为什么叫反射对吧?啊,怎么去理解这个东西,或者是记忆这个东西啊,呃,是这样子的,这次进来之后呢,你可能忘掉的可能性就不大了。
07:02
对吧,啊,那怎么样呢?比如说啊,咱们有一个对象。啊,我一并把这个方法给你说了好吧,呃,这个对象里边呢,比如说它有一个A属性。A属性。和B方法。啊B方法。B方法呢,空餐对吧,还有一个C方法。C方法呢,可能需要参数啊,需要这个参数OK吧?啊,他需要这样东西啊,那我们一定把这个去说一下啊好,那你正常的去获取这个属性值怎么获取啊。正常获取属性。直。怎么获取?那很简单对吧,比如说我想获取的是这个object,这个类型我就写object了啊,不写具体类型了。
08:09
Object啊value对吧?好,然后呢,我们正常的获取是不是拿着这个对象点get a对吧,Get a get赛的方法吗?是不是对吧?好,正常调用方法呢。正常获取属性值和调用方法。和这个调用方法可以吧。那调用方法的话,我就不写这个返回值了,因为有可能他没有返回值,有可能是boy对吧,那这个就不写了,我就直接写obj。B。对吧,括号,然后OBj.C然后括号这里面呢,有参数。啊,那你就传参数呗,是不是啊,你就这样的去一个写法吧,这个没问题啊,这个就是呃,说多一点啊,就是为什么体现它的一个反射对吧,好,那反射。
09:06
方式获取属性值和调用方法,它是怎么回事呢?那主要出现在这个什么。反啊反射。反着来,怎么反着来呢?你本来啊,是不是拿着这个对象调属性,拿着对象调方法,拿着对象调方法,现在是反的,那什么叫反的呢?我同样的还是获取这个值,要调用这个方法对吧?啊,那你得有这个对象有这个方法啊,但是呢,现在是反的,那怎么反的呢?那就是拿着A对吧点。Get,然后呢?看还是获取这个值啊,就是你的。想法是一样的,我还是要获取这个字段。这个。招并里边的这个字段值,但是现在反射反的对吧,那刚才你是不是拿着对象调属性啊,现在是什么呢?拿属性调对象,那同理,刚才是拿着对象调方法,现在呢,拿着方法调对象。
10:08
反着来嘛,对吧,这就反了。啊,体现在这个反的啊,好,那我们来看啊,呃,这我们只是说的调用了,但是那里的一个原理,它为什么能获取到这个,你你还是要深究一下的话,那肯定不是这样子对吧,我们是说方便大家记,你可以这样去记,通过这个名词对吧。啊。好,那这个怎么调用呢?很简单,那就是B点,但是它呢用的是invoke啊。括号,然后呢,OBJ。好,那有可能想问了,那么你B呢,只有一个参数对吧,那你C有。C有参数怎么办呢?你B是空三,你直接选这个注意啊,其实它的invoke方法你知道它怎么写的。括号OBG啊,然后逗号,然后XX参数照样能传进来,注意这个invoke方法,它的一个封装啊,它是这样封装的括号。
11:15
知道吗?他就知道你未来的这个。对象对吧,你未来这个类里面可能有多个方法,有的方法呢,空参,有的方法呢,有一个参数两个参数,那我怎么去写啊,我怎么知道你未来你这个。定义,你自己定义的一个类里边到底有几个参数的那个方法对吧,我不知道那怎么办,直接写一个可变。行参。啊,直接来这么一个可变形餐啊,那应对各种各样的需求,随便。懂吗?随便你想。几个参数就几个参数啊,反正突出了一个反,突出了一个反着来。
12:02
OK吧,就这样的一个东西。啊,就所谓反射,起码你未来会用了,对吧,啊,你先搞定用嘛,对吧,那里的原理呢,你到时候再深入,你先会用起来啊。后来再解决其他的事情对吧?好,那这块呢,我们字段就获取到了,字段获取到之后呢,我们就根据刚才我们所说的对吧,反正来调用啊,那就是。点。Get,直接传谁呀,传这个T呀,咱们对象是不是T呀,对吧,加位得到这个value。得到这个值啊,那这边呢,嗯,有异常,异常什么呢,叫非法访问异常对吧,因为我们获取的这个字段呢,它是包含private,那private你这样获取就不太合适了,对吧,所以呢,我们就在这点。Set accessible设置为true啊,就让它可访问啊呃,那这个异常呢,其实你就可以不用管了。是吧,你可以抛出去,你抓也可以啊,反正这个异常就不会有了,对吧,因为你设置为可访问了啊,那我们要把这个值设置到这个pre c里面去,对吧,好,那拿过来啊呃点。
13:11
Set object啊注意这边呢,一定要写I。加1I是从零开始的,但是JDBC里边的位置都是从一开始的。啊,它都是从一开始的懂吧,好这边呢写一个。Mad。啊,这边写一个value。好吧。好,那这块呢,咱们就。搞定。对吧,这块咱们就搞定了。啊好,其实这样写啊,它有一个。前提条件啊,这样写你就干什么事呢,你未来这个东西啊,因为我们是按照扎并的字段进行便利的。
14:08
对吧,所以未来呢,你外边写的这个circle,你这个字段要跟我招聘的字段的顺序怎么样要一样。啊,因为你代码里边已经按照招聘的顺序去便利的,对吧,已经按照招聘的顺序在便利,所以未来你一定要干什么事啊。按照招聘的顺序去写。啊,当然,嗯,那他说我假如建表语句跟张病的见这个顺序不一样,那你就在这儿可以写吗?你可以调整顺序啊,对吧,ABC又不是说你不能写了,你可以写对吧?如果说你招聘的字段这个顺序跟建表语句的字段顺序完全一样,那么这个东西你可以不写。啊,当然这个呢,后后面我们再聊一下就行了,对吧?啊。
15:00
先不聊这个事儿啊,那这块呢,咱们就搞定了,大家有没有什么疑问,其实还是比较简单的,写出来以后。还是比较简单的。对吧,写出来以后就比较简单了。OK吗?有没有什么问题?没有问题呢,咱们先过。
我来说两句