00:00
呃,那么刚才呢,咱们这里啊已听对吧,可以把这个思索句写出来了,说你正常情况下,你要想查询的话,对你要想查询,那其实呢,你完全可以在这里对吧,就通通通过这样的语句,对通过这样语句对吧?然后呢,咱们到我这个这个clean house里面来查询就行,但是啊,同学们现在呢,我在查询的时候,我并不是click house直接去查的啊,我用可直接查的,那我需要用谁呢?对吧,那我需要呢,去把咱们那个my bag都要给拿过来对吧?所以说呢,那这里我们呀,来看一看my be配置文件里边,那么怎么来写,那么打开我们的publisher,然后呢,找到我们my be对吧,它现在呢,这里边这两个东西,一个呢是我们当前map这个接口,那么另外一个呢,是我们这个接口呢,它对应的我们这个映射文件啊吧,一个是我的接口,那么一个呢,是我的接口,它的一个映射文件,对吧?那么咱们现在呢,在这里这个映射文件里边怎么来写对吧,怎么来写对吧?那我刚才说注意了,如果你要在写映射文件的时候,有两个必须得一致。
01:01
一个是映射文件map,它有个name base这个属性,那么必须和接口权限列名保持一致,一个是我们当前它的一个s slide的标签中ID这个属性和方法不须一致,那么具体这方法那怎么实现呢?大家想一想,我现在想实现的功能,你是不是直接执行我们刚才写的这个circle口就行了呀,所以说呢,那么你可以直接把这个circle口给拿过来啊,你可以直接倒到这里边,把咱们现在的这个circle口给拿过来啊,把这circlel给拿过来对吧?那把这circle拿过来往这一放,注意看同学们把这circle口L拿过来往这一放,这个找个带格式的啊,直接打这个,把CTRLC,然后呢,往这一放,对吧?来,把这里啊放过来对吧?往这一放这就行了啊,这就行了,就是具体啊,你现在要怎么执行,你直接把这个搜狗呢给拿过来就行啊,把这个so给拿出来就行,对吧,那么咱们底层呢,它会根据我当前你这个S的写法来自动帮你。
02:01
那意什么是吧,它会帮你映射成一个咱们的接口的一个实现类,然后这个呢,是我抽象方法它的一个具体实现,就这个它底层提升会把这个方法的一个具体实验呢,帮你自动生成,对吧?但是有几个细节需要注意,第一个咱们的细节对吧,那你这里你这个这个日期你是不是写死了呀,对吧,咱们到时候你这不给我串参数嘛,肯定不能写死,对吧?那么怎么样去接入参数呢?通过咱们这个井号大括号,然后呢,对接入参数注意啊,这个东西如果是一个参数的话,名字随意,咱们这个东西叫这个参数在传的时候是不是叫我们的date呀,对吧,那这个呢,如果一个参数的话,这个名字随意,注意啊在这里对吧,我现在呢,在这里第三个对吧,那么通过什么呢?通过咱们这井号大括号对吧,这个方式啊,这个方式去接收我们现在的它的一个参数啊,去接收参数对吧,那么如果一个参数啊,如果。
03:01
只有一个参数,那么咱们现在呢,这个名字呀,那么任意啊,这个随意起啊随意起,但是假如说我现在有多个参数呢,比如说我现在这里除了我这个string这个ID之外,那我可能还有一个string,这个date之外,我可能还有一个name,对吧?那这时候那我怎么办对吧?那我这这这这这这个这个怎么去区分,我现在传的这是哪个呢?对吧?那这里你可以通过一个注解,这个注解呢,叫咱们这个per对吧?这个注解叫per,你来指定咱们现在的这个名称是什么就可以了,也可以相当于给这个参数取了一个名字,等到到时候呢,咱们再拿的时候,比如说这个叫AA,那么你到时候在接收的时候,你呢,就通过井号,然后咱们这个大括号去接受A的参数,这样就行啊,这里有一个这注解对吧,这个注解对吧,注意这个注解叫什么,叫咱们这个派是谁的,是我们这个iab类的,其实my be game框架是前身的,其实还有一个叫iab,叫iab啊叫iab对吧,好了,那。
04:01
现在呢,在这啊,把这个给拿掉了啊,这个呢给拿掉了啊,然后接下来咱们现在呢,来把这个给替换一下,替换date,然后第四个需要注意的一个细节,这和你们以前养成良好习惯有关系,对吧?那么以前咱们写Java代码的时候对吧?那我如果不用对吧,如果如果如果说要不写咱们的分号,那就感觉这个东西语句没结束,别人语会报错对吧?写子干代码应该对吧,还好对吧,那么咱们现在呢,在写词后语句的时候,对吧?我是不是也是养成好习惯了,怎么做呢?假如说我不加咱们这个分号,那么这个时候他认为你circle没结束,你必须得加circle狗对吧,但是在my bed里边对吧,语句结束之后啊,语句结束。之后对吧,那不能加分号对吧?必须不能加分号,对加了就报错了,对吧?必须不能加号,因为这个东西啊,你不能加对吧,这东西呢,你是不能加的,好了,那这样的话,咱们当前的这个就完事了,这是一个方法对吧?这是第一个方法对吧?这第一方法,那么除了这个方法之外呢,那还有第二个方法,那么第二个方法这里,那也是不是也是查询呀,Select,然后接下来咱们需要有几个注意的地方,第一个方法它的一个名称和咱们映射文件里边这个ID呢,那必须得一致。
05:17
啊,这第一个,那么第二个咱们现在这里是一个result的type呀,大家注意result type呢,一般返回的呢,是我们现在的单个值,但你这里啊,是不是返回的是一个粒子集合呀,对的,粒子经里放的什么呢?放的是我的map对吧?放的是我们这个map对吧?那么这个时候,那么咱们现在呢,用result typeb呀,就不太合适了,对吧?那么咱们可以通过什么呢?可以通过我们现在这个result mapb来指定,对吧?那么咱们result mapb这个东西指定什么呢?也可以指定类型,注意啊,在这里你可以直接定一个map类型,比如说我现在呢,Map它的什么,它是AA对吧,那我现在呢这个ID对吧,就你当前你可以自定义一个返回类型,就我先查询这个这个直这直径之后,它返回什么类型啊,返回类型呢,你可以自己来指定是吧,你可以自己来指定是吧,怎么来指定呢?也通过result map这里边来配置对吧,而且注意啊朋友们,那么如果是例子集合的话,那么你现在呢,这里也可以用result type,注意啊在这里。
06:17
也可以用type,但是这里面放的它不是Java什么UT list的,它不是放的这个它不是放u list,而是放什么呢?而是放在你粒子集合里边放什么东西,比如说粒子集合里放学生对吧?那你放学生,比如说粒子集合里边放的是咱们teacher,那这里边你里边放的粒子集合里边放的是什么对吧?为什么这么做呢?大家想一想,咱们在查询的时候,从我数据库表中查出来是不是一条条记录啊,对吧?那么这个作用是干什么的?这个作用是把你查询这一条记录来做封装,对吧?那你说封装什么类型呢?对吧?所以说这会他其实指定的是我把咱们当前查询一条记录应该封装什么类型,对吧?那我封装什么类型呢?对吧?这个类型呢,我要通过map来定一下,注意啊,我给大家介绍另外一种,就你认也行,对吧,但是呢,对吧,如果说我这个类型稍微复杂一点,对吧,它呢就不够灵活了,对吧,比如说我现在起个名字叫resm,然后这个呢是我定义的resm配置,然后它里面返回什么呢?那你看一看咱。
07:17
那当前这里边返回的什么。说麦不集合呀,那这个时候呢,咱们可以定义Java u下面有一个我的map,它返回的这个东西是吧?它返回这个东西是吧,说老师那你这里对吧,你这么配,其实你和在这里配一个result type是不是一样的个效果呀,对吧?注意啊,那么咱们现在除了result type之外呢,这里呢,它其实呢,有一些属性没有对吧,比如说我现在呢,那如果说你要直接去返回的话,那么它返回一个粒子集合,短粒子接里放什么呢?放的是M,这个M呀,它这里面怎么来放,咱们假如说我查询出来有什么呢?有我们现在它的个小时对吧,有什么呢?有咱们现在呢它的一个值对吧,那这会儿呢,它直接就这么封装了,它没办法封装对吧?但是我希望什么,我在使用封装分尼和工具类的时候,大家想一想,咱们封装是不是应该是我这个列名,然后接下来它的一个值,然后接下来列短来一个值,对吧,那这样是不是咱们封装的形式啊,你要想让这种形式。
08:20
封装的话,那么这里呢,你得加那个叫什么呢?叫做auto mapping,然后给它指定我们的处这个auto mapping属性,那自动去映射对吧?这块他会把它列名给它加进来,如果你不在咱们这个map里的配的话,这里啊它指定不了的,所以说呢,咱们这个map其实自己定义我的类型,它呢会更加的灵活一些啊,自体类型它更加灵活一点,对这块呢,是需要注意的地方啊,这个需要注意地方,然后接下来,那么咱们现在呢,把这个语句啊也写一写,这个语句呢,我就不带他写了,咱们直接短来到我们这里边对吧?呃,在这呢,我就把这个东西拿过来对吧,如果说自己写的话,这东西你也可以直接看一看啊,这里。
09:03
来,那咱现在呢,在这里如果要是想去查询的话,那你完全可以这样来对吧,来CTRLV大家看啊,咱现在如果说我想查询咱们每一个小时的一个对吧,它的一个分时的,我们现在一个交易额的话,那这个东西是不是就是按照我们一个这个小时做一个分组就行了,对吧?但注意同学们,那么这里呢,咱们这块也要看一下,比如说这个日期我们呢,在这么写对吧,这个是2020杠幺幺杠零二这第一个啊这第一个,然后这块呢,咱们改了,这个是我们的0523,然后这块呢,靠近时间这个不这个不需要改,对吧,然后现在咱现在分号结束一下来看一看啊,能不能查出来CTRLC,然后呢到我们啊这个C号这边来查询一下,对吧,咱们是在11点的时候,然后呢,产生了对吧,来这么多交易额,都要查这么多交易额,对吧,那我现在如果通过它可以查出来的话,那咱们现在把这些东西呢,排TRLC,然后再复制一下,复制之后,然后放在哪呢?是不是放在我们这里边。
10:03
对吧?哎,把这个东西呢,拿过来短,那拿过来之后呢,咱们现在这个有些地方呢,需要修改一下,对吧?修改谁呢?是不是这个日期呀,短这日期不能写死短定日期呢,那得通过它参数的形式呢来获取啊,通过参数的形式来获取好了,那这样的话,关于我们现在my bed映射文件啊,它这个配置就完事了啊,关于my bet映射文件的配置就完事了,对吧?那么这里咱们要想让他去找到映文件的话,那还有一个这个配置也很重要,对吧,怎么怎么怎怎怎怎么一个配置呢,大家想一想,我现在啊,这个是不是死不人布的程序啊对吧?死不认的程序执行的入口在哪呢?在哪呢?在在在这呢,是吧,这个是程序值的入口,对不对,对吧,那你说我程序从这执行,我哪知道你有什么样的一个接口啊,我哪知道你这个接口在哪,咱们现在接口有了,结果用什么验有了,对吧,我怎么知道你的接口在什么地方。
11:06
对吧,那我是不是得你得告诉我呀,你的接口在什么地方,咱们是不是才可以对吧,那么你要想告诉我接口在什么地方,那怎么那怎么告诉我呢?有一个注解,这个注解叫什么呢?这个注解叫咱们这个MYSKY啊,这个注解叫MYSKY,你一看这个名字。啊,你看这名字是不是应该去扫描咱们接口了对吧?那么怎么去扫描呢?在咱们这里边有一个叫什么?有一个叫做base package,对啊,在咱这里边有一个叫做base子package对吧,这样的一个属性对吧,有一个叫base子package属性,那么这个东西大家咱们在写这属性的时候啊,咱们在写这个属性的时候,对吧,叫base package,这属性它的后边呢,对吧,对吧,来咱咱们给加一下啊,在这里base package对吧?那么咱们把这属性加了之后呢,那你再给我指定一下对吧,当前咱们现在去哪一个包下面去找我的接口,那你是不是应该来到我这个接口里边,然后呢,把咱们现在这个包对吧给拿过来啊,这个表对吧?把这这个包对吧给拿过来,对,然后放在哪呢?放在咱们现在对这个位置。
12:13
啊,放在他现在这个位置,那这样的话,咱们整个程序的运行的时候,对吧?当我现在启动我们这个子命部的程序,那么它呢,会到我们这个包下面去扫描啊去扫描,那么扫描扫到谁了?是不是扫描到咱们当前的接口了呀,那你想我只有接口,然后接口里比如抽象方法没有实现,那怎么办?咱们说先找这个接术实现呀,那么my bed它是怎么做的呢?咱们没有具体实现类my bed它会到指定的配置文件中找这个接口它对应的映射文件啊找这个接口对映射文件说,老师,那我怎么知道我现在这个配置文件在哪,这个配置文件的配置是不是在我们这个application property里边,咱们指定了呀,他会去到咱map这个目录下边去找我们当前接口,它对应的一个我们这个啊映射文件说老师映射文件和接口它怎么对应起来的,是通过名字吗?注意啊,这两个名字说一致,它只是。
13:13
规范不是规则对吧,就是不是必须的对吧,就是咱一般建议是这样,因为好多公司同学们,我现在是不是把这东西给拿到拿拿开来都分开了,好多公司是这样的,同学们直接呢,就把咱们这个东西放在哪呢?放在这儿了,直接就放在咱们这micro这个麦这个包下面了,这里面又有什么呀,又有咱们这个Java代码,又有咱们这个插表文件,对那么这块呢,我不建议这么干啊,在有些公司他这么做的,如果这么做的话,有的时候他可能出现什么情况,他可能会出现咱们这个映射文件它对吧,拷贝不过来的情况。就实咱们映射文件,它有的时候就像咱们这个,就算你配在这,有的时候是不是也会出现这种情况,比如说我们配了什么log for practice,然后发现我配到之后不起作用,对,为什么呢?我发现class class下面没有对,有可能出现这种情况对吧?哎,所以说呢,你可以把它分开啊,给以把它分开对吧?那么咱们这两对关联,它靠的是什么呢?不是靠这两个文件的名字,而是靠的是在我们映射文件里边,这里是不是有一个namespace呀,对吧?这里有一个namepa对吧?然后接下来那我知道了哦,当前这个接口对吧?它对的映射处理在哪,在这文件里边了对吧?那我接口的抽样方法它怎么实现的呢?那么咱们在这里对吧?根据当前我方法,它的一个要做的操作,咱们去选择合适的标签,比如说我现在想删除短暂,如果删除的话,那就举例子呗,要删除ID,那这个ID和谁一样,是不是得和我们现在这个这个接入的方法没一样,然后你在这里delete对吧,然后from什么什么对吧,就写delete操作,如果更新的话,那就update呗,ID和谁一样。
14:48
和咱方法不是一样呗,然后接下来你在咱们这里边去写什么呢?去写什么update的操作对吧?哎,那么咱们这里呢,是两个我们这个查询对吧?那所以说第二个大家注意的是,就是我们现在啊,在这里我们这个ID就是这个增三角标签中的ID属性和我们这个接口的方法名要一致,对吧?然第三个参数怎么接收对吧?通过咱们这个井号大括号的形式来接收,对,那第四个对语句结束的时候呢,不要有分号啊,不要有分号好了,这是关于什么呢?这是关于我们现在啊。
15:21
这个接口对吧,关于我们这个map对吧,接口对吧,它的一些对吧,我们这个需要注意地方,我把这块呢,也拿到我们这个验证文件里面,给大家记录一下啊,这里边呢,是容易犯错的这么几个地方,第五个你要想找到它的话,你需要在哪呢?在我们这个spring啊,在咱们这个spring food它的启动类上去加啊咱们这个东西啊,就大家注意一下咱们这几个内容啊,注意这些内容,这个呢是关于我们这个my be第一次的接触,对吧,我先把它稍微停。
我来说两句