00:00
好,下面呢,我们来开发我们的商品规格参数的持久层,也就是倒层,我们有两个表,一个是specification group规格参数组和specification sbc prime啊,那也就是要有两个道,那第一个我们要实现specific group到它的一个查询,因为我们有了买best plus,它的标准的普通的增加啥啊,我们直接呃使用my plus为我们提供的就可以了,但是这里有一些业务啊,My best plus是做不到的,比如说我们还这个啊,我们要根据商品的品类来查询。啊,当前的规格参数组啊,里面还有就是规格参数项,就是你看我要电子书,它的规格参数我查出来是这样的一个效果,有主体颜色存储,嗯,又有其他的信息,还有什么呢?比如说手机,这个手机我们经常举这个例子,手机是76,在这儿机呢,啊里面大量的测出率都是手机的规格参数,它是这样的,那我们要能根据品类来查询出所对应的规格参数的信息,那这个规格参数啊,注意呃,这里没有这个手机,就有那这个规格参数啊,我们查询组的时候,组里有一个集合,你看主体组就要有一个集合,基本信息组也有一个集合,所以说我们在设计这个实体类的时候,我们在设计这个specific group这个是一类的时候,它这里有一个集合叫para啊para呃,Para那这。
01:46
这个拍啊,就是这个集合啊,就是当前组的,这里我们给前面的这个数据其实就体现了啊,这个组所对应的规格参数,OK,那这个my plus查不出来啊,这个需要我们使用啊MY,呃,MYS的这个关联影射来进行一个处理,当然我们还要对规格参数啊进行相基本的查询。好基于这个分析,我们来看一下我们持久层的一个基本的设计,我们先看它的一个设计的一个方式啊,首先我们来查询指定条件的规格参数,指定条件的规格参数来CI list,它影射了一个CI list,这有一个影射一个CI。
02:33
我把这个方法给大家说一下啊,来看。影射一个他我不再一一写了啊,因为这个东西如果写起来的话,也是比较耗时间的,就是一个业务的时间而已,那在指定参数的查询,指定参数就指定实几条件的规格参数的查询的时候,它用了一个动态C索语句,其实这个是有用的,这个就是强加的嘛,就是呃,就是就是这里可以扩展了,我就我就现在就这个业务用不到,我们用到这个业务,根据商品的品类查询这个品类下的规格参数啊,根据品类查询品类下的规格参数,就这个cid是有效的是吧?Cid,那这有一个方法好的,那接下来我们要分析。
03:22
规格参数组里面的这个集合my best plus查不出来my best plus,你不能说你再放一个集合my plus就知道你要处理想查组里面的项,那他他做不到,他只能做单点增奶查的重用,那这个怎么处理呢?这个数据怎么得到呢?啊,咱们就想到了我们的my best plus啊,My best想到我们my best它的啊。影射里面有一个叫做connections啊,用that map配合connections,这就是一对多的关联影射,我们通过这个一对多的关联影射啊,来影射一个cement的一个结果是map,是group map,我解释一下啊,咱们在讲买best的时候也重点的说过。
04:13
它的my best的一对多关联影射,就是还有多对多,还有一对一,这些关联影射的用法就是z map,这种方式是最常见的,那他用买加载方式好的,我们看它把这里面的字段名复制给属姓名是吧,字段名复制给属于姓名that pros,那我们对于所属组对应的规格参数项的这个集合的这个查询,对,就根据刚才我们的分析这个查询啊,它用到了什么呢?用到了我们MYBIMYBI里面的一个,呃。配置方式就是exam map collections,那这个collections是怎么怎么查的呢?它是这这么配的,Connections prime就是这个prime,就是这个集合,就是这个实体类上面那个primer啊,这是属性名primer啊,这个大家应该不陌生啊,之前写过很多的这种相关的练习嘛。
05:07
还有类型是集合里面存的是组里面的,像注意这个组里面像我是怎么查的呢?它是用这个ID。点截不到,上面有一个这个图截不到,呃,上面这个太代码截不到啊,就这里我们还有一个像的一个到,那我想想我们想想办法把这个,呃,把这个往下来一点啊,这样这是这是规格参数specification para,就规格参数项的这个代码啊,把这个代码往下走一走。嗯,好的好,那接下来我们看看这个代码。这是回其实回忆买白,大家如果基础比较好的同学啊,这应该是很容易是就是能能能明白的啊,就是因为你以前写过的话,这个知识点知道你很很容易明白,那我们看这里呢,我们在specification s SPC time到里面定义了一个根据。
06:19
规格参数组的ID查询组里面的像的这样一个查询方法啊,这是用注解映射的,当然这个也可以用自行影射啊,我们用什么都可以嘛,大家随随意使用,只要实现需求就行了,以后大家项目经理只关注你的成果,他不会看你是具体怎么实现的。是吧,好,这里有一个,那也就是说我们想要得到组里面那个这个这个集合的数据,怎么得,怎么得到呢?他是要从这来查一个语句啊,叫send group by group ID,那他查的时候其实用的是这个方法吗。
07:01
啊,他根据组的ID来查询组里面的项,OK,大家清楚没有,那查的时候这个STEM就这个组,这不是需要一个ID吗?那它需要一个ID怎么办?他把当前组的ID,注意这个ID下划线不就是当前组的ID吗?他把当前组的ID传给了他,那这时这个语句就会查询出。啊,当前组有哪些像,把这些像复制给了这个集合,那这个就是像的啊,各个属性和字段的影射,那我就不再一一写了,这就重复工作了是吧?那这个是这个这个参数我讲过它很重要是吧,就是它是不是SKU特特有规格参数啊不是,是不是通用规格参数啊,是不是通用规格参数,False就是SKU特有规格参数是不是搜索等等这些都附好了之后,那就这样来进行一个查询,好大家要注意这个问题,好的,那当然我们在获得啊根据组啊,获得组的实体信息的时候,得到的也是map,就这里啊把这个select by ID,就是my best plus里面内置那个select by ID方法,嗯,把它行为改了,就是它本来就是返回一个specific group,现在把它改成嗯,Group map group map里面有什么呀?
08:25
啊,用group map的作用主要是这里面会影射P啊,它会影射这个POK,那这就是持久层的一个基本的啊逻辑和实现的一个方案,这些有我我们把这个思路想清楚,逻辑想清楚啊,有了思路具体怎么实现啊,那其实就是我们所用到的my best my best pass,那这些知识点的应用了,是不是OK,好的,那我们把这几个类啊,把它写出来吧,哎,根据文档写出来啊。好的。
09:06
好,我们这里创建一个接口。这个道,呃,这个道呢,只需要继承我们的IICD到就可以了,进它呢,传一个泛型ec,这里的方法我拷过来啊,这里方法因为一会写影视文件,他给他对应关系写错了啊,咱们把它拷过来行了,好这这个好,接下来呢,这是组的道,还有一个是像啊,规格参数像的道,这个叫做specification。
10:04
SC拍的。那这里呢,我们也是继承ICLD到啊,记成这个SEC啊,Driver,看这个发型,刚才啊,我们在分析业务的时候,我们说过,我们在。获得组里面的到的这个集合的时候,这里需要有一个泛的group by ID,就是这里面其实调用这个方法吗?那这个方法我们在啊,我们的SPSPSSPCP到里面要给它声明出来啊,声明好好接下来呢,我们就把那个影视文件写出来就可以了,这个影视文件啊,就是用my best的关联影视获得组和组里面到的这个组里面像的一个集合信息好的。
11:19
在这就一个文件,在这个内容就直接考了啊好,我们看select啊,Select circle这个是定义,这是定一个片段是吧,定义片段,那这使用这个片段,这使用这个片段获得这个组,这个写错了,Name这个写错了啊,我看一眼啊,这个叫内部下颌线啊,这个因为这个我跟大家说过,只是现在根据品类来查询,这个没有用到,所以说写错了也是没有测出来啊,大家这错难免的啊,大家以后碰到这个错就就自己发,发生错误再改也行啊,这个应该是内部加压线,其实这个用不到,只是告放在这,大家可以扩展,如果有其他业务,因为我这里传入的就是入参啊,就是呃,这个的入参是十以类,那他的组的入参是以类,那这里过来就是这。
12:20
我们只要是识别的条件都可以啊,在这里写动态语句来进行查询。好,后面呢,就是我们使用design map来查询组里面的啊,规格参数组里面的规格参数项集合,它怎么查的呢?它就是调用的啊这个接口的这个方法来进行相应的查询,好那这个就是我们倒层啊持久层的一个开发。
我来说两句