00:00
好。好,下边呢,我们就准备来编码实现这个流程。那时间的话还是从底层开始写,先写这个map service一个一个写,先写这个map,在市场活动map里边加一个方法,这个方法就是根据条件分页查询市场活动列表啊好,下面我们来写这个方法来写一它,然后呢,在市场活动的map加方法啊,市场活动map法在work问下map,那在这里边加一个啊,在这里边加一个方法,这个方法咱们都已经设计好了,就直接写就行了,范围值list list里边是一个一个的市场活动的实体类对象。然后呢,写我们这个方法,方法名也设计好了,Select activity这个东西,Activity,然后呢,这个是BYBY是通过的意思,For是为劳为劳分页for。
01:06
去查询的对吧?啊,其实当我们说学这种做这种编程得稍微有一点点这种so语,就有一点点这个英语的基础是就以上这方法命名知道吧,那大家你写到你最好就这么命名,就为什么,因为因为到公司里边基本上大家也都是这么命名的。啊,你要如果不这么命名,将来你这个方法有可能别人会掉,别人一掉你这个方法你要随便写一个,有前面有以前有同学说叫CARRY1知QUERY2这样写啊,那那谁叫谁知道你QUE1干嘛,谁知QUE2干嘛的,所以这样到公司里边知道一,一般来讲你一到这个你知道你试用期就危就危险了知呃,你要在公司里边真正做过一两年开发,有一两年开发经验,你不可能显成开一开出二就最烦着,就其他的你这团队,你其他的同事最也是最烦着了,这样的跟你说,就他对他命名方式,他偏偏给别人不一样啊。
02:09
啊有的还有的证,就我们以前以前人家少Q1是Q2,这对这啥意思,知不知道,所以这你这这一个团队里边开发,所以大家就有这种秘密,就有有这种规则是吧,你必须遵守这种规则,这样才能配合起来,你要不遵循规则,你非要写的跟别人不一样不行,所以这时候我要周到这所以那你课下你也要尽量这么命名,而且你说老师记你,你写的这些名字太长了,我都记不住,你不需要记知。你知道他干什么,掌握这么规律,然你想你要命名一个方法名或者一个类名的话,你想着想着你就什么命名知道了,就它有业务含义的,你知道了这样,所以啊这所以这我们也是好,然后呢,在这边传个参数,这个参数我map,然后呢,这个是string,那有object这个map啊,然后呢,这个地方还一个该引进的类都引进了,是然后呢,这些都引进了,然后呢,这个地方来给他一个注释,这个我们就是根据条件啊,根据条件分页查询市场活动啊列表啊好这样的话,我们这个方法定好,方法定好下面写错数句了,那写操数句,在这里边加一个错数句,查询到错数句S,然后呢,这个地方看一下。
03:36
嗯,这个内容还有,然后呢,拷ID要和方耳名就行,拷过来这方名拷贝,然后呢,放到我们这里边,参数帕尔米type参数什么类型的对map map类型的,然后呢,下边结果,结果什么类型的对map,因为将来我们每一条记录都要分成一个实体类对象的形式返回,那实体类对象的属性名和查询字段名有可能不一样。
04:05
不一样的话,我们用re达map做个映射,然后呢,这个地方我们就可以了,在这,然后呢,下边我们来写这个搜索句了啊这边写吧写了吧,查询到搜句,然后呢,From从哪个表里边查对查市场活动,那从市场活动表里边查。这是市场中这个表知道吧,他是主表是吧,那查询这个表格哪些字段,哪些字段,你看前你前台需要哪做,那你说我怎么知道前台需要需求跟你说了,将来你查询数据要选到这个列表里边,你看这个列表里边对每一条市场活动,这需要显示哪些字段,想示哪些,首先再看,首先这个地方有个check box。每一条记录下面都有拆包S,这个拆销包S干什么呢?将来要对这条市场活动查出来之后要修改和删除,我假如要修改这条记录,选中它一点它,修改它。
05:03
修改它的话怎么修改,一弹出来一个摩擦窗口,然后把这一条市场模型都显示到上面,然后用户改这个表单,改完之后一点更新就改了。当然我也可以,假如这条市场图我不想要了,选中它一点删除按钮。点确定删除么一点确定向后得法请求把这条记录删了。所以说大们将来我们不管是修改和删除市场活动,将来都会根据选中是不是要选中某一个市场,那选中某一个市场活动,那选中了怎么了?将来我要删除,我修改这条市场修改哪一条市活动修改选中了市场动,假如我选中了他前面这个插选中了怎么了?对,我要获取这一条市场我的ID我就知道哦,我要修改的是这一条市场工作,所以将来我们在选示这个列表的时候,为了给修改和删除做准备,将来肯定会把这一条市场活动的ID给这个拆个boxs保密,知不知道吧?将来我一选中它,我一点这个按钮,我只需要获取那些列表中所有被选中的check boxs上面绑定的某一个市场活动的ID就行了。
06:14
然后我就可以把它删掉,同样修改我也得获取某一个选中的市场的IP。是吧,所以那我到时候我可以获取选中的check boss,然后进一步的获取它上面绑定的ID,所以将来我们为了做修改和删除做准备,都应该把每一个市场活动ID给他前面的check bos绑定,所以那我在查询列表的时候,每一个市场活动的ID我也要查出来,至于前台怎么绑定,那就后边我们在写前端代码的时候再说了,总之前台肯定要需要每一个市场活动ID。所以我得查出来知道吧,那查出来,那查这个ID吧,那我就直接查了,那查询市场活动这个表里边的ID字段知道吧,所以这个地方我得查哪一个字,就这个就这个段,这个市场络ID这个字段,这个字段我一会再查出来,好,这是一个字段,还有哪一字段呢?你看看对名称这个字段名称哪个字段就这个字段,这个字段对还有谁呢?看看对所有者说这个市场活动将来是由谁负责的。
07:16
负责实施去哪一个字段,这个字段对O哪这个字,这个字段咱们前面给大家创建市场活就给大家说了,将来对我们创建市场活动的时候,这个地方选中了一个人,由这个人去负责,是是将来一点保存,是不是把这个人选中的这个张三这个人的什么ID,是不是提交后台了,对提交到后台,我们说去插入到这个字段里边了,所以这个字段保存的那个所有者那个人的ID,但是你看啊。这个地方要查那个所有者,是不是应该查那个所有者的名字,对,你要查ID,那谁知道这个ID是是谁啊,所以那查名字,名字在哪个标格存上呢?对U侧L表对U侧表,所以这个地方是不是一定会用到连接查询啊,对连接,然后这个这个什么保存一个人的ID,它是个外键引用userl表的主键,要连接查询,所以这个字段得连接查询好所有者还有哪些字段来看开始日期,结束日期,这两个日期的成了开始日些,所以这些都查出来了,所以总的来言,我们就需要查询这五个字段,其中有一个字段是外键引用用户表的主件得连接查询,查用户的主,查用户表格那个名字那个字段,所以这五个字段我们就直接查了好从ID开始,那就查吧,那查的话,当然我们一会要进行连接传引,不可避免的要进行连接传引,所以我这个地方给他起个别名。
08:46
连接查询要给表起别名,所以我就用给它个别名空格起别名,然后呢,我就取第一个单词了,就叫A了,这个表字段,那么然后呢,下边我就查一下A这个表的ID,这个字段查出来了,还对,还有哪个字段呢?对A的内容就按照这个顺序来吧,就按照按照这个顺序来吧,按照这个顺序来吧,啊一个一个查O的这个字段,O的这个字段是所有者,所有者我们说这个地方要显,要显示的是所有者的名字,但是我们这个字段里边存在是什么,所有者的ID能不能直接这么查对不能,因为这么查的话查出来是ID,那么在前台显示的时候谁也看不懂,那应该怎么查,对连接用户表去乘,是不是这样的,对连接用户表去查内连接还是外连接。
09:42
内连接外连接,我们说了以后大家只要连接查询,首先想到是内连接还是外连接啊,那到底用内连接和外连接,咱们前面给大家总结过那个标准没有看什么。看什么?
10:02
对,看看你是需要这个所有者,这首先看到一个最重要的一个条件,就是什么,外键可不可以为空,是不是样子,如果外价不可以为空,说明什么。外键不可为通,说明在只要在主表里边有一条记录,在另个表是不是一定有相对应的记录,对这个时候内连接和外连接查询的结果是不是一样吗?对一样的优先用用内连接还是外连接对内连接外内连接效果是不是这个效率更高啊,更更更高,那我就看一看这个字段可为空知道吧,如果不为空,优先用内连接,如果可以为空呢?可以同看看是不是对看查询的结果是不是需要在两张表都有相对的记录,如果必须要求都有相对应的记录,是不是还是用内连接那连接,然后呢,再看看它是不是查询的结果是不是需要什么,在它这个主表里边是不是所有记录只要符合条件都查出来,即使在另个表没有相对的记录,是不是我如果也需要查出来,这个时候是不是有外链键外连接,就这样吧,好,这是根据我们这个标准,大家看一看,这个外键可快为空。
11:19
那这个外键可不可有空,看哪啊设计对设计表看哪个地方是不是,按理说看这个地方,对这个地方大概它一选中表示是是不是这个可以为空啊,可有可以为空,那就外键可以为空,按理说是不是这个地方还得看你是不是要查所有那些什么主表里边那些记录,即使在另一个表中没有符合条件,是不是也要查出来,是不是看你查询什么记录了,但是这个地方呢,我是对我们这个地方,你看他他这个项目,这按理说这个表就是项目经理设计的,他这个地方,他选上这个可以为空,对这个不可能为空,为什么不可能为空。
12:01
个空对咱们创建市场活动给大家说了,这是不是那个所有者啊,他这个带个星说你这个地方必须选一个人。你创建所有者必须有一个人负责,也就是说那个O里边那个字段值是不是永远不可以为空的,永远不能不可能为空的,所以大概我们说这个外键什么时候都不能为空,不不可能为空的,所以说啊,其实应该说这个外键压根就不能为空,在我们这个地方,对这个地方,按理说这个地方应该它取消掉,不能为空。如果如果真正设计合理的话,应该说取消掉,因为从业务角度来讲,就压根这个字段就不可能为功能知道吧。但是他这个项目经理,咱们买买他这个项目啊,因为他这个项目经理应该是个新手,应该说所以但这有些这种数据,这些字段有的设计的不太合理,有的时候大看有的这像这些字段里头,他很多都是255的,按理说你知按理说应该说有实际的是么?这个需求来决定的,不一定二五,他为了省事,你看大多数都是255,你知道吗。
13:12
对,你看还有很多255,你看就是这能用255的,好像都用二五了,其实严格来讲这是这都不对的,我的应该有需求来决定的,你这个需求数据是多大的,最大值可以有多长,你说设计多长,它是好像统一都要五了,而且他看有人是否为空呢,它好像是除了组件不可为空,下边都可以为空。所以他这个项目经理设计的不太好,对不太好,所以大家你知道就行了,你知道行了,按理说到公司里边不太可能这么来做,咱们咱们没办法,咱们这个买他这个项目,咱们就想原样的给大家展示一下公司里边做项目到底什么样子。咱们就把这个数据库拿过来啊,咱们不改,他这个数据完全一点没改,就是有些个别字段去掉了是去掉了,那他以前设计什么样,咱一点都没改知道吗。所以说咱们这个地方就给他这个原样了,当然你知道它设计的有一些缺陷就行,好,所以说他看那我们这个地方根据需求,我们说这个外键不可为空,外键不可为空,连接的时候用什么?内连接外连接,对内连接,连接用户这个表,U这个表起个边名U1知道吧,连接条件空格来个啊谁呀A点谁的字段,O的这个字等于谁呀,对UE点呢ID对它的这个外键等于它的主键,那这样的话我就连上U侧这个表,这个表连接的时候起个边名叫UE。
14:41
那我就可以用U字或者叫U1这个表格所有字段了,那我要查U1这个表格哪一个字段值对,内容超了,这是八公格所有者的名字就查出,查出来之后这个地方有问题了,有啥问题。对,查询字段名叫name。
15:00
这是所有者的名字,那我一会还得查谁啊,对A的内呢,这俩字段查询字段是不是空,这是不是重复了,重复了将来根据外部要分装那个实体类的内幕属性里边这俩字段谁的值分到内幕属性里边,你就不管谁的是不是肯定会丢另一个,丢另那怎么办呢?对是不是起个别名给把把哪这俩哪一个内幕起别名,对前面起个别名,空格爱起个别名叫什么。嗯。叫什么?对,理论上来讲,是不是叫啥都行啊,但不管叫啥,将来他这个什么,这个别名就是查,就是这个内幕的查询字段,他将来会到达map里边去找找谁呀。找对这个查询字段对应这个实体类的哪一个属性里面去对他就那找找谁去啊。
16:06
对,找谁的话,这些找谁都不合适,只有找谁啊O是不是合适一下,因为他就是表示所有者的名字嘛,只不过以前的设计的,按理说应该是设计所有者的ID,但是由于所有者ID我不需要查了,我只需要查出所有者的名字,所以我就把这个什么。所有者的名字就放到这个,以这个字段的名义查出来,那么将来他一参照这个map是就是不是就放到这个实体类的O的属性里边了。知道,所以他我就叫查询四段门就叫O尔就行,查询四段门就叫O尔就行了,你说老师我自己随便命名一个可以吧,可以,但是你得在ta map里边再加一个这个查询字段,映射某一个属性去。那你说那个属哪个属性,你要再再加属性,那样就太麻烦了,所以我们就放O中,将来他会就放到那个实体的O的属性知道。
17:03
好,这是我们说的这样,这样的话呢,我们这个地方就可以了,那么将来你拿到前台拿那个实体类属性的候,拿那个实体类对象的时候,就获取O,就是就获取到所有者的名字了,知道吗?好,这是我们的这个字段,我们就查完了,下边下边什么name这个字段是不是好查了。对,这个知道我们已经查出来了,这个就是就是市场活动的名字,就主表内a.name还有谁呢看看。开始日期是不是也好查也好查,这都不是外键,不是外键直接主表直接查就行啊,还有谁呢,看看截束日期啊,结束日期,然后呢,这个地方A点结束日期行了,这前台所需要的这五个字段全查出来了,全查出来了啊。按理说这个骚扰就就查这些字段就行了。但是单号这个地方,我既然写这个搜手机了,虽然前台别的字段不显示了,但是在数据库里边,除了这五个字段都之外,单纲还有这些字段,你看吧,成本描述,创建时间,创建者修改时间,后边还有一个修改者这些字段,虽然我们这个需求里边没没让我们显示,假如说以后,假如说让你做工作,工工作的时候,假如说这些字段都让你查出来。
18:21
那这个搜五句你应该是补全了,把这些字段也都查出来,假如这列边也都要显示,也都要显示,你也要把它们抄出来啊,所以虽然我们这个地方没显示,但是我把这个搜索机准备给大家写,写全了,所有字段都查出来,假如说我们都显示,那我这个地方就继续再查别的字段了,那查办,那这个地方查办逗号格,看还有哪些字段看看。对这个成本成本成本是不是也不是外键呀,不是外键直接乘A点。还有哪些字段描述,那就直接查就行了,A点描述直接查,还有谁啊,看看啊。
19:05
凯威的time说这条市场活同什么时间创建的,那就直接查,这都不是万建,直接查行,下边还有别的,别的那位换一个行,换一行再扯,还有什么呢?看看可这个字段。说这一条市场活动,你查的这条市场有谁创建的是一个人,这个人大家我们以前说了,他创建者应该保存一个人的信息,保存是人的名字还是人的ID啊ID对,因为我们当时创建的时候就是放了往者放了人的ID,那这个地方我要往列表上去显示,我是不是我得查人的名字了,对然后那查人的名,人的名字在哪个标注侧征了,对U侧表这个地方是不是连接U侧边啊对,再连接右侧边去查,那连接右侧边去查内连接还是外连接。创建创建者,那那你就看看创建者可不为空,那你创建市场活动的时候,这个创建者可不可以为空呢。
20:07
不可以,为啥不可以对,你点保存到后台保存这个市场活动的时候,我们是不是把当前用户的那个ID,当前用户的ID是不是保存到里边了,保存资,那当前用户ID可不可能为空啊,不可能,为啥不可能对,因为他必须登录了,他才能创建,如果没登录他不可能创建的,所以他既然能点保存了,他一定登录了。他一定登录了,那当前系统时间里边一定当前系统session里边一定放到当前用户的信息,那当前用户的信息一定什么有当前用户的ID,所以这个字段从业务来讲不可能会空的。所以我们这个地方什么这个这个外键不可以为空,外键不可有空连接用户表是不是内连接啊,对内连接连接用户,然后呢,连接一个叫U色对,起个别名U2连接条件啊A点哪一个字段跟U2表去连接,跟U2去连对可瑞八来个U2.id对,然后这个地方我就可以用U2表里边所有字段吧。
21:14
那我要查U2这个表里边哪一个字段对,Name这个字段对,那是不是同样给大家也得起个别名啊,起个名as别名叫什么对,以这个字段名义,我操特别特。这个我们就可以了,这是查询创建者,查了也想显示,也是把创建者名字显出来,那这个地方大家有同学就有疑问了,诶老师不对啊,主表连了连用户表。怎么连俩用户表?对呀,你就连我们为什么进行连接,不就是说要用这个表格字段才连接查询吗?那用这个表的字段你已经什么连接上用户表了,那这个用户表里边字段我就可以就可以所有字段就可以用了,那我在搜入一遍,为什么还要再连,我直接直接写U1多好,这样可不可以?
22:10
条件的条件。对,大家看,虽然我们这个什么都是连接的UU这个表是不是后边连接条件不一样,对连接条件不一样,你这个跟O字段连是查询所有者的名字,所以你用U1我这个段查询什么创建者的名字,我就不能用O去连。所以大概我们说我们再连一个。再连这个右侧边。然后呢,用谁用这个字段外键可以给他给他去连接去,所以连接条件不一样,虽然都是连接右侧边连接条件不一样啊。所以这事我说到这,那你就说老师,一个主表能怎么对,同一张表能连接两次,不但连接两次以后我们还可以连接很多次呢,知道吧?对,根据需求来看,需要连接几次就连接几次,只要后边连接条件不一样,都可以随便连接,知道吗?
23:07
这种贵宾并不一定说啊,一个表只连,那个表只能连一次,可不是这样子的啊。这时我们要知了,其实大家从这个语法的执行原理上来讲的话,其实在my soql执行这个soq语句的时候,买八的会把这个soq语句发给MY操Q去执行,去买SL执行的时候,他对优侧这两张表买S可不认为这是同一张表,对他是两张表,而且这个表名都不叫U测表了,叫什么呢?对U1U2,有可能以后还U3U4嘛,知道吧。啊,所以真正执行的时候,数据库认为这两张表,一个U1表,一个U2,所以我们在这呢查到时候你看到这些条件都是U1U2,就不用这个U特表。只不过碰巧了,这两表的数据存储在同一个物理同一块磁盘上面了。
24:00
啊,那对于买客户而言,它是两张纸这样,这是我们刚才说的,这好这是这样,我们就这个就查出来了,所有者,我们就这个创建者就查出了,创建者查出来呢,再看看还有别的字段修改者对这个这对修改这个先先查这个修改时间,修改时间说这一条市场活动有什么什么时在什么时间修改了是吧,这个时间还有下边大还有一个字段修改者说这个市场活动有谁修改了,修改者是不是应该也保存一个人的信息啊ID保存一个人的ID还是内容,对也是ID,所以它也是个外键引用用户表的主件。那我这个地方要假如说在列表上显示,应该显示修改者的名字,那修改者的名字,我还得连接用户那个表去查询修改者的名字。那又得连接用户那个表了,主表去连接它,那连接内连接还是外连接。
25:03
对这个字段大哥是不是它跟创建者不一样,它可它是可以为空的,为什么可以为空的,因为一个市场活动刚创建出来,是不是这个市场活动一定没有人修改过,这个作一定是空的。就它有可能是空的,那即使是空的。是不是我们只要符合我们产距条件,我也要炒出来,把这一条市场活动也要炒出来,所以像这种情况下,是不是用什么Y连接了,主表在左边,是不是左外连接,对,只要符合产询条件,即使没有修改者这条市场功能我也要查出来的,所以是个什么外连接,我们把主表的左左外连接left叫啊left和连接谁用户这个表同样给它起个原名U3连接条件啊,叫谁A点谁啊对I点八等于谁对U3.id,这样我就查可以查询u3.name,给他起个别名叫啥I8,这样的话,我就把这些字段都查到了啊。
26:17
这个表里边所有字段都查到了啊。这就是我们写的这个完整的字,这个地方给大家特别强调一点,就是说一个表可以被连接多次啊,通过起别名的形式来表示多张表,好这时我们这样这样的话,那前台所需要的字段都查出来了,查出来的话,那现在你写这个操手机是查询所有市场活动的所有字段,我们这个地方查询到是并不是所有市场活动是不是得根据条件去查询啊,所有符合条件的数据去查出。所以那我这个地方什么后边写你要查询哪些是让活动到这些自动的信息,那什么后边加查询条件,那这个查询条件按理说后边得加个where是不是这样的,那这个查询条件是不是一定有呢?不一定要,怎么为什么呢?我们说他这个发请求,从前台发请求查询数据的时候,它有三种情况,第一种情况,当整个页面加载完查询所有数据的。
27:19
第一页那所有数据是不是就没有查询条件,没有查询条件这个地方就不用加班,那其他两种情况一点查询按钮,所有符合条件的数据的第一页条,这这个就有Y2语据了,那它第三个需求一切换这或者一切换到这,然后呢,去查询切换之后的所有符合条件的数据的这个列表和总条数,那这个时候我们说那是不是也有Y2,所以三种情况,有的有Y,有的没有Y,那这个地方怎么写。对,这个Y是不是就不能写死了,要用动态serve了,到底加不加Y用个什么动态serve是不是这个用这个标签啊,用这个标签,这个里边,在这里边是不是判断那些查询条件是不是有,有就加上按照条件去找,没有就不按照条件去查,就这意思吧,好,下面我们来去查吧,那看看查询条件有没有呢?哪些查询条件就是按照名称是吧,模糊查询,按照所有者的名字模糊查询,按照开始日期查,按照结束日期查,看看这几个条件查询条件是不是有。
28:28
那是不是有一个一个看法,首先看看查询条件这个名字有没有,那你来看吧,那我们来看看判断查询参数有没有,怎么怎么判断对AA,然后呢,这里边有个什么,T的是T,这里边是个布尔的表布尔表达式,那么将来在这里边会执行一个布尔表达式,这个布尔表达式执行的时候结果是个true或者是个false,是true。那表示是不是按照这个条件来执行啊,对吧,如果falsex,那就不按照了,那在这里边,那这个条件怎么写呢?那就看看那个查询内幕那个条件,那先看第一个参数有没有,看看它这个参数将来在外里边是不是存在,这个参数是不是这样的,那如何看看这个外里边存在不存不存这参数怎么看啊对,它有一个标准的,是标准的写法,判断参数,某一个参数是不是为空,有个标准写法,哪一个写法是这如果说它不等于捺,标准写法就是永远不会错的写法,然后呢,空格不等于,那还不行,对,还不等于,还不能等于空串,那and name不等于空串,知道吗?
29:46
这个时候就说明有这个参数,有这个参数是不是要根据它去查了,对,根据它去查,那这里边写一个查询条件,这个查询条件怎么写啊。是不是前面都得加个案子,前面都得加个案子,然后根据条件,这个名字应该是个市场活动名字,那他这个地方输入一个市场活动名字,按按理说这个输入一个按照市场红的名字,只要输入名字查的肯定应该是模糊查询,将来到数据库里边,根据市场红的名称这个字段去模糊查询,你比如说我想看所有传单,所有含有传单名字里边含有传单的这些市场活动,我就输一个,他一点查询,把它发到后台,根据他到市场文的名字里边去模糊匹配去。
30:29
所以那就根据市长红名字那个字段去模糊查询,那根据市场的名字那个字段,那就谁呀A点内模糊查询,怎么对空格like,然后呢,号格对百分号空格,然后取到那个map里边那个值是不是这样的,Map那个值叫什么,假如说我就叫map了,我我假如说我叫name了,以后我往往里边放参数的时候,这里边那个那个参数的那个K我就叫name了。
31:02
那我用的时候,我也就直接取内幕就行了,知道吧,这然后呢,后边再加一个什么对空格百分号,这样的话,就根据如果名字啊,如果这个参数名字那个参数不可不为空的话,我就根据这个条件去找。加上Y就等于这个条件。是吧,那你说老师,那这个这个and,如果它是第一个它,那它会自动把and去掉,是不是这样的,这是大家我们以前学过的语法,这些都是死的。我们说这。好,那就说如果它为空,它为空这里边就不止行吧,那我们在后边再进一步的判断,这个所有者这个参数是不是为空的,那这个参数那是不是个空的,那我们来看这个参数,那这个参数那怎么判断呢?孩子再写一个A组,再写A组,然后呢,在里边再写一个看。那看看这个所有者特别空,那所有者这个参数名,我以后放的时候就叫O德尔。我现在就直接用,以后放水我就用它,然后呢,如果它不等于什么no,对,并且O不等于什么空串,然后呢,那看那我在这里边是吧,就根据名称去查了,那加一个暗的根据名称去找叫谁根据谁的名称根根据这是这个所有者去查,根据哪一个字段的所有者。
32:26
对,这个地方肯定是他输入我就查询张三的负责的实施的市场活动,那这个用户输的时候是不是一定是入的是张三的名字。那你说不是商开ID吗?ID谁会输啊,所以他肯定去查询张三五,而且他输入的肯定是一个什么,对,肯定是一个这个模糊的,它有可能是不是输入的全名,对知吧,它肯定是个什么名字,应该根据所有者的名字进行模糊产品,那所有者名字在哪个表里边存着呢?UE对所有者是不是在这里边存着的名字,是不是在这UE边是吧,对UE,那你根据谁啊UE点谁啊name模糊查询怎么来,然后呢对版分号空格,然后呢,取到那个什么or空格,再来一个什么版分号,就如果所有者播也为空,那么是吧,就根据所有者的名字去模糊着那。
33:24
好,这时候我们找下边再看,还有这个开始日期,那一看开始日期是不是可以回空,那你们来看看吧,这个地方来一个开始日期,然后呢,这个地方来一个开始日记,然后呢,这个地方来看它可不可空,那开始机我以后放的时候我就叫start data了,如果它不等于空,不等于now,然后呢,并且start data我以后放的时候就叫它也不等于空串,那这个时候根据它,根据这个根据什么。这个市场活动的开始日期这个字段去查,怎么去查他这个地方其实当开根据开始日期和结束日期查,其实他应该去查一个处在指定这两个日期的实这个日期区间中的实施的这些市场活动,应该说那个什么,根据市场活动那个表里边那个a.start date那个字段,所有的市场活动大于等于它。
34:23
当然后边这个是所有A的data,小于等于它输入的这个吧,结束日期的处在这个期区间中的这些市场的信息知道吧?啊,所以那这个地方我们查的时候应该是根据谁啊,市场活动的start data,然后呢,大于等于它输入的这个开始日期,就处在它到这个中间的实施区间的这个日期区间实施的这个是场,也该说a.star date,然后大于等于它输入的这一个什么。这个开查询的这个开始日期的这个字段,那我来这个的方来加的话加这个操数句,那加的话再加一个and and就来一个a date,所以这个字段值叫什么大于等于传过来这个什么,它输入的这个start date这个参数的这些市场。
35:18
这是我们说的。这样的话呢,我们就可以了,这如果说开始日期那个字段不可为空,我就查询那些市场活动,哪些市场活动开始日期大于等于指定的这个市场活动,这指定的这个日期的这个市场活动啊,同样道理,那么A呢对它也是一样,A呢对塔也不一样,Test如果说A的对塔这个参数它输入的时候不等于空and a的对塔这个参数也不等于空串,这个时候再加一个参数,And叫A点叫什么?A的贝塔叫什么?小于等于谁啊,传过来那个参数叫A的贝塔这个参数。
36:08
然后呢,这些市场活动去。其实他这个地方就输入两个日期,他想让你查询处在这个日期当中的这个日期区间的这些市场活动,正在实施的这些市场活动,有哪些市场活动,知道吗。那我们查询的就是a.start date大于等于这个日期,A date小于等于这个日期的,这是啊。所以这是他这个查询条件。好,这是我们说到这,大家看一看这这个查询条这个字语句这个地方是不是报错了,你看对红色为啥报错了,小于对小于号跟这个冲突了。他认为你写这个小于号,你应该你写的是个,你写的不是小括号,他认为你写的是个监括号,但只要有监括号,有左监括号,右监括号,但你这个地方写了一个左的,他到后边找右的没找到,没找到肯定报错了,他认为你这个写这个监管写的不合法,错了。
37:04
那你们老师他这个红,他这个波浪线怎么啊,这个小括号写错了,他为什么把这个波浪线加到这个等号边了。我我以为这个等号错了呢,他为啥加到这了,他不加到这个上边。他找右边监控号,他认为你这个地方是吧,一按理说应该是监控号是吧,结果是他一看是个等号,他他以为什么,你本来想写监控号,不小心写成等号了,所以他给你把这波浪线加到这知道吗。啊,所以说他跟我们这是报告,那这个地方改一改吧,改一改怎么改,其实我们没写错是吧,我这个地方不是监控,我这个写的是什么是是是什么,我这个我这个什么不是监号,我这个写的是个小于号,那你小于号由于小号跟加号是一样的,那咋办呢?对这个地方可以给改一改怎么改。
38:05
二号。对两种方式,哪两种方式,第一种方式这样这样可以这样改。对,大于等于啊不道理不一样吗?它小于等啊,跟它大于等啊,是不是道理一样的,对,但是大于大于号不空,大于号不空。对,大于化这样,所以这样写完全是可以的,但这样写好像想着你好啊,好像挺背动是吧,对这样这样感觉太low了是吧?所以我们以后写的时候是这种小号有转移符,物料不中突,转移服叫什么?对在买巴这边转移服加按的符号叫什么?对LT,然后呢,后边加一个什么,别忘了对加一个分号。没有分号就错了,这是个转移数,他给你写那个小号,小于号时效果完全一样。LT其实这个大于号不冲突,大于号即使不冲突,他也给你提供一个转移符,这个转移符叫什么?
39:09
在集体分红。所有同学说,老师,GT和LT我总记反是吧?到底谁是既替谁而替法,那咋能不技法呢?其实他俩是两个英,都是这两个,GT和什么RT都是两个英文单词的缩写,GT是哪个英文单词?GT叫ator小于吗?跟谁比另大于?大于谁?在英语里边用这两个单词表示大于。大这个LT呢。对life了,小于少于,这实际上两个英文单词的缩好,这是我们说的,这这样的话呢,那我们这查询条件就加了。
40:03
如果有查询条件都加上查询,如果没有,他们会不加,不加对这是我们说的,这好,这是我们查询条件,这样这个查询条件加上,这是我们要查询所有符合条件的数据,那所有符合条件数据,万一有几十条,几百条,或者是几千条,几万条,那也你都查出来吗?不都查得什么,是不是得等到分页啊,你看看他想看哪一页的数据,你只需要从这里边去查出来某一页哪要显示那那么多条就行了。那所以说我们还是用分页,分页到分页是吧,分页是不是limit米到limit米特,那limit米后边写什么?两个数对两个数是吧?第一个数表示什么?从第从第几条记录开始查,应该写这一页里边第一条记录在整个所有记录里边,那个下标是不是这样的,那下标那个下标是不是从零开始,依次往后一一每一页往后增加一个这每一页显示的条数啊对,如果是第一页这个这个这这个那个这个下边是等于几啊零,如果第二页呢。
41:23
后边加上了,就那你看你每页显示多少条了,假如每页显示五条,就每页选示三条吧,每假如每页选示三条,第一页从第几条开始查,零开始查,应该显示012,是不是把这三条记录第一页查出来是吧,第二页呢。页减345是不是这样的,第三页呢,678是不是这那第页呢,N减一乘对A减一乘以谁啊?配置三是不是这样吗?每人减投入知道吧,所以那这个地方我写啥呢。
42:03
对,我就我能不能写N减一乘以配,不能他这个地方不能给你计算,那不能计算,那我这个地方应该写什么。那你说你这个地方就得计算呀,你看它显示这几数据。这个N其实就是,是不是就是它切换那个页号配置number啊,那你说那这个地方能不能写配置number减一乘以配置三。不能,他这个装不能计账,不能计算,我这个状又非要写他这个装配置number减一乘以配置三大八。在这个service,对在Java代码里边计算好,是不是可以放到map里边,Map里边传过来,是不是你就可以从脉部里边直接取这个值了,我这不能计算,但我可以取值是吧?可以取值,那我这个值假如我在前面已经计算好了,风上这个麦部里边了,那计算好了,那我这是不是就可以取值了,取值咋取,是不是井号打括号啊,对找找什么,对找什么,那你看你放的时候叫什么,那个光map放的时候那个he叫什,He叫啥,咱们有个标准的写边叫begin number begin就是开始的那一条记录的number叫编号是吧。
43:23
对每一页开始记录的编号知将来一定在加va代码里边封装好放到麦克里了,我就在这儿直接取了,封装的时候肯定是配number减一乘以配百,下边是不是还有一个值啊?后边那个值是啥?记录条对记录条数,记录条数是是几啊?井号配置是不是就是它切换的每页显示多少条啊对把那号这样的话,大看我们这个四五句,根据条件分页查询市场活动,这样就查完了那。就张三这样,你想着想着其实就行了,知道吧,对还有一个什么,还有什么问题呢?对排序什么,一般我们查的时候就排序,然后我们这种排序都什么,一般来讲后创建的对放前面。
44:14
那这样的话,我们以后什么刚刚创建一条一点什么创建成功了去查是不是一定会显示到第一条一定是最先创建是不是啊,最后创建是不是啊,对,所以插的时候排过序,排序咋排欧大败是吧?那欧大败写在哪呢?写到这对另一条先排序再分页是不是这吗?那你那有的同学说先老师不是先分页再排序吗?对你你都你都查完数据了,你再排还有意义吗?没意义了,是不是这个意思。
45:00
就是影响影响知道吧,放到前面它先排序,然后再分页,放到后边的话,它是什么,先分页,先把这什么某一某一页的数据查了,再对这某一页的数据再排。明白这意思吗?这是我知所以先排序,排序那个order by是根据谁排序,对创建时间那就来个A点创建时间叫可瑞太是吧,升序还是降序,降序对后串呢?显得前边是不是降序啊,对降序降后创建的显示在前面,那后创建大的数据在前面,是不是这个数据越来越小啊,那就越来越降了,就是后装向大的数据放在前面,越来越小,那就降了,那所以说降距那叫什么DEC啊,这样的话这个搜数距就小了。这是我们这个map这个字句。
我来说两句