00:01
来继续好,那么接下来呢,我们就来还是根据他的这个事例是吧,根据他的这个介绍,我们来把这个查询呢,来看一看啊,那行吧,我就直接copy呗,那还有啥办法呀,对吧?好,来直接把它copy过来,Copy到什么地方呢?那我就把它copy到我们还是啊这个位置吧,你看一下哈,呃,当我拿到我这个搜三对象以后呢,它就做了一个查询,那我们刚刚呢,已经分析了一下,这个blog应该是它的一个事例,对吧?我们正常应该查的是什么呀?哎,Employee行吧,那我就把我的employee的先给大什么写到这,好,那我们来分析后面的哈,这个后面的是啥意思呢?你看了哈,它叫做三加select ver,应该是从三对象里面去查一个调用一个方法,对吧?查询单个select one对不对,然后呢,传两个参数啊,这两个参数的话,我们看不懂,不知道是啥意思,所以说呢,我们得来去分析分析这两个参数是干嘛的,好,那我们来。
01:02
来看这个。然后呢,因为这个select one这个方法呢,我们没有加过这个源代码,所以说你看一下这个参数呢,也没有一个具体的名字吧,对吧,都是什么二和零,二和一啊,好为了能看得清楚一点,来吧,谁料什么点进来加个源码吧,怎么加这个源码包呢?特别简单啊,你直接把谁呀,把我们买白,就是给大家发下去的这个资料里面啊,开发包里面是不是有个源码包啊,直接把这个完整的加进去就行了啊,你不需要去啊,挑选单个的直接加进来就行了,好加进来以后呢,我们也不用看它了,再来把鼠标点到这儿,OK,我们来分析,你看现在跟刚才是不是不一样了。来看一下不一样了吧,第一个叫做statement,第二个叫做什么para,那行吧,下面的就有我们这个参数的介绍,你看statement以及这个看明白了吧,OK,来吧,那我把这个拷出来啊,给大家去分析一下是什么意思,这个能考吧。
02:01
CTRLC好来考到这,诶CTR来了是吧?好,这是我们的两个参数,好两个参数,第一个参数呢,是我们的statement,第二个就是我们的排,那么这个statement是什么意思呢?翻译一下,它叫做unique identity fair什么意思啊,文一标识符吧,去什么呀,去match就是匹配一个stand就相当于什么呀,你需要使用一个唯一标识符来去匹配上一个statement,应该就是我们的搜口L语句了,然后干嘛呀,来去使用了对不对?说白了这个位置呢?哎,你需要给我指向一个SQL语句的唯一标识,那其实我们一分析的话,我也能理解了,你要做一个查询,你肯定得有一个SQL语句吧,对吧?哎,那么这个S语句在什么地方呢?肯定不在你代码里面写的,在某个位置写的了,那你就必须要去给我指向那个S语句对不对,所以说我们一分析发现这就说白了啊,第一个参数。
03:02
这就是我们的搜狗语句的唯一标,对吧?来搜口语句的唯一标识,来再来往下看,第二个参数是什么呀?他说它是一个per,一个参数吧,对吧,它是一个参数对象干嘛呀?Pass to statement。是不是执行我们语句需要用到的一个参数对象啊,对吧?哎说第二个参数是什么意思呢?就是执行语句需要用到的参数啊执行哎,So需要用到的诶参数能明白了吧,就执行这个so呢,我们需要用到的参数对象明白什么意思了吗?好,那么现在这两个我们知道了以后呢,接下来我们要思考你这个so考L语句的唯一标识SQ语句在哪呢?我们是不还没写啊,所以说我们到这为止的话,我们就发现其实我们还少东西,是不是少什么东西呢?那我也不知道啊,那我们就得接着往哈去看了啊来接着往下看,我们来到这个位置,他说什么呀?哎,这有一个什么map的so statement就是我们的so,哎,语句的一个什么映射文件吧,对吧,你看了哈,他说呢,这个地方呢,有一个什么示例啊来我们也是直接把它就copy过来了,然后copy它的时候呢,大家注意啊,我们把它叫成什么名字呢?诶这个的话呢,大家就能听我听我来讲了啊,我还是放到卡下面,我去用上一个基本的XL文件,叫啥名字呢?它这个东西啊,诶选错了是吧。
04:44
好X呃,它这个文件的话呢,我们都会习惯性的叫成什么什么什么类,比如说employee这个类,然后呢迈两查秒。如果说你是对employ来操作的,那你就叫上你是对部门来操作的,那你叫做department,能理解吧?哎,我们都会这么去取名字啊,好,取好名字以后,Finish进来以后呢,把刚才拷贝的粘进来,粘进来以后呢,S加给他format一下,OK,那么我们1FORM呢,我们就能看清楚这个结构了,上面的这一堆我们不用去管啊,直接来看下面的OK,我们来看啊,呃,这个matter啊,应该就是我们的什么映射吧。
05:27
是吧,啊迈克说白了就是配我们的映射的啊,这是配置我们的诶,So,后映射啊,那么这个里面呢,有一个name space需要解释一下啊好,大家现在注意哈,呃,现在你看一下这个值,再加上我们的select的blog,好像就是我们刚刚在代码里面看到的吧。是不是它呀,你看一下,注意哈,Org买example block map.select block,你来对比这个地方。org买example block map select block是不是它啊,说以现在我们就能猜到了,原来搜L语句的唯一标识应该是name space的值,再加上诶,你看这是一个select查询,这里面还有我们的搜后语句,那确实这个值再加上你的ID,那就应该是我的唯一标识符了。
06:15
能明白这个意思吧,好,所以说呢,来也是这个namepa干嘛的呢,我们就把它翻译成什么呀,翻译成这个名生空间吧,好吧,好,其实这个翻译过来的话,这个意思就有点不一样了啊,但是呢,我必须得翻译一下啊,叫做民生空间吧,然后呢,我现在要教会你这个地方到底写什么呢,来我们有两种写法啊,第一种。可以随便写。理解吧,对于现在我们使用它来讲,这个地方我们是可以随便写的好,但是呢,将来的话呢,我们呃会使用一个什么呀,麦克接口开发好,如果你使用这个麦克接口开发,那么他就什么不能随便写了,对吧?不能随便写应该要什么按照我们的啊要求来去写啊,按照什么规定来去来写好,那么具体什么规定呢?我们现在先不说啊,到时候再来给大家去讲,那现在的话呢,我们是可以随便写的,因此我这个位置我就随便写了啊。
07:15
随便够随便了吧,OK啊来随便啊,好,再来往下看啊,那么这个select大家应该能看出来,这是应该什么呀,Select干嘛的呀,是不是来定义一个查询语句的吧,对吧?啊select标签啊,来定义一个什么呀,查询语句的啊查询语句啊,它那边有个ID,那么这个ID的话应该就是我们的什么了。是不是这个select的一个标识吧,对吧,Select的什么标识啊标识那应该也是一个什么唯一了啊,唯一标识啊,然后呢,还有一个叫做什么tap,这个什么意思啊,结果类型是吧?注意啊,它是一个结果级的映射类型,听懂了吧?哎,结果级的映射类型好,那我们就知道了,注意了啊,现在我要查的是我的员工啊,因此的话我就改一下,我叫select employee能看懂吗?然后呢,将来给我返回一个什么对象啊,是不是你不知道对象啊啊,你不要根据他的写啊,根据他的写你就掉坑里面了是吧?我们的类型是什么呀。
08:24
这才是我们的employee法,你光写一个employee他知道吗?不知道啊,现在他还不知道啊,后面我们是可以想办法让他知道的啊,OK啊,那最后这个地方怎么写啊,Select行是吧?按照他来写的话,那就select行吗?但是我们说过最好不要去写这个select行吧?OK,那这个位置的话,我先写的星啊,先告诉你们一个问题,然后呢,再把它去改一改啊,好,Select克星from我们的t BL employee,好VR给他一个ID等于什么呀?他刚才写了个什么井号大括号ID,这个你们还看记得不记得记得吧?OK,解释一下什么叫做井号大括号ID啊,那这个地方很明显,我们去查一个对象,将来我要给你传一个ID过来的吧,对吧,那很明显,这个井号大括号ID,那不就是获取我们的参数值嘛,是吧,哎,获取我们的这个参数值的好来吧,把这个写好以后的话,我们就可以什么修改这个位置了,那现在我的ID是不是随便点select employee啊,所以说这个位置。
09:24
你看我改了,我就改成什么了呢,是不是他呀,对吧,改成它,然后呢,这个是什么呀,执行搜狗用到的参数吧,那现在我们的这个搜狗就是不是需要用到一个这个参数啊,就是你要查哪个员工,那你要把他的ID给我传进来,行吧,那我们找上一个好那查谁啊,呃,查个就1001吧,好吧,来把这个1001给他查出来,那么这个位置我们写的就是1001。能看懂什么意思了吧,将来这个1001呢,它就会想办法呢,诶给我什么呀,复制到这个位置,那么相当于这条就是select from这个表VID等于1001。
10:09
明白了吗?OK,那么这个我们就把它写好了,那所以说呢,这个整个过程我们做了件什么事呢?就是诶写了一个文件,然后呢。做了一个什么基本的查询,好,现在我们来静下心来再来分析一下,我们现在写的这个so映射文件跟我们整个买的环境关联上了吗?没有有没有没有没有,这个配置文件我们不用管,因为我是直接指定到这儿,是不是要去读取它的呀,但是这个配置文件我从始至终有没有指定过它,所以说这个注意了啊,我们需要什么呀,回到我们的这个文件里面,你看是不是有一个引入SQL映射文件啊,看到没有诶,我们就需要把我们这个搜Q映射文件呢,给它指定到这,这样的话呢,将来我去读这个文件的时候,是不是顺带着我就就能读到它了,能理解什么意思吗?
11:08
跟不上了,能吧,来把它指定,这什么指定呢?你注意了啊,Maps里面的有个map resource,那这里面的话你直接在内路径下面放着,那你就直接写什么呀,那不就是employee啊麦查表吗?内路径下面直接这么写是不行了,看到了吧?OK,你把它指定到这好,那这样的话我们再来分析一下,我一开始去读这个文件的时候,不就是它吗?对吧?而在它里面的话呢,我们用什么,是不是引入了这个文件啊,所以说说下的这个文件是不是也就被读到了,被读到了以后呢?那这个位置我是不是就能从我的这个文件中哎,去找到我这个ID所对应的SQL语句,再把这个参数传过句,它就能执行到那个烧烤语句了吧,而那个搜高语句上面,我们能看到这个烧烤语句上面呢,我给你配置了一个结果类型,那么它就会把查到了这个数据给你封装成这个类类型的一个对象,再把这个对象呢,就给我返回到了这个位置了。
12:03
所以说接下来我们只需要在这个位置啊,C输出一下,你不乐意听懂了吗?然后呢,注意哈,人家最后了在这个find里面呢,还把这个三给关掉了,看到了吧,所以说我们打开了这个session的,诶最后呢,要记得给人家什么关掉啊,那么其实这个我们的hello word就把它写完了,来吧,接下来我们就顺带的直接做一个测试啊,好选中。来执行,OK,大家来看结果。这就是我们说出的那个结果吧,对吧?好,大部分应该都是没什么问题的,其中有一个问题就是last name这个地方它是一个空的是吧?但是的话,你看我们这里面数据是有的吧,对吧?那为什么是空的?哎,因为你查的时候呢,你写的是一个select的星,而你查出来的星的话,它是一个什么last什么下划线内吧,是不是啊,你看表里面是不是last下划线内容呀,对不对,而我的这个对象里面的守性名是不是大写的N啊,对吧?这个它是映射不了的,所以说呢,为了能让它完成这个映射呢,我们应该怎么做?哎,我们就得取边名了,你就不能再去这么写了啊,来注视掉,重新写一个select ID last_name,取一个别名,好,Email真的from我们的t BL employ啊,VR什么呀,ID什么还是等于几号,打括号ID吧,对吧,诶把它。
13:37
重新写一下,那么写完以后呢,我们再来做一个测试,来选中run执行一下,好,大家来看这个数据是不是给它查回来了,能看懂了吗?好,那么查回来以后呢,我们不能光看到这个结果啊,还是再来往上看一看,呃,上面那两个输出呢,是我们一开始打印的搜session factor以及我们的搜session,而这个地方大家注意,Debug这个东西就是我们的log for j帮我们做的事,他把买bed底层的一些操作的给我们打印出来,你看一下啊,首先我们能看到有一条搜口语句,看到没有,这个so口语句其实就是我们自己写的那条so后语句,只不过我们写的是井号、大括号、ID,你看是不是它是不是给我换成了问号了,对吧?第二个呢,就是什么呀,你看它叫做parameters,就是我们传递的参数是不是1001啊,对吧,那么你在想烧烤已经也有了,参数也有了,最终呢,查到了一个结果,你看到没有,是月哥TOTAL1啊,这是我们的。
14:37
结果你看箭头是朝左的嘛,这不就是返回嘛,对吧,给我们返回来的一个结果,那这个结果的话呢,它就帮我们封装成了一个具体的一个对象,就给你放到这个位置,看明白了吗?来,这就是我们买威的一个ho,好。
我来说两句