00:00
讲一个案例啊,讲那个练习啊,那我们上午呢,是这样把这个发布微博这个需求给搞定了,对吧?啊分两块这块呢,就是说大家在写代码的时候也要一定要注意一下。就是你一定要记得有什么东西啊图解,你脑子里边就至少有这张图,或者说你在写代码的时候不有两个屏吗?或者说什么样的截个图对吧,放在那个代码那一块啊,你就看着他写大概的,因为如果说你脑袋没有这张图的话,你代码写的那没有思路啊,这个就是咱们那个思路,因为它整个的逻辑来源就在于这三张图,对吧,这三张图,然后就利用这三张图的一个逻辑,把我们之前所学会的API给他串了一下。对吧,啊,把API给他相了一下类啊好,那我们继续看第二个方法,按道理来说我们应该写删除微博,但其实这块呢,我们不好写这个事。保险来想一下,呃,如果说有前台页面删除微博,是不是你点一下找到这个微博就点一下删除就行了,他实际上是做了两个事,第一先去获取微博,然后再去删除吧,那我们这个地方不好删的原因在于你说删除微博,你删除哪一条啊。
01:20
根据IE来删是,但是你想想看,你R是UID拼接上时间桌的,那你自己写的方法,你这个时间咋传啊。而人家有签单页面是不是好传一点,因为人家是第一步先获取了一下再去删的吧,如果说我写一个方法在里边说删除微博,先在里边就获取一个微博,然后去删,没意思吧,啊,但是这块因为我们没有前台去传啊,我们这个不好写,实际上应该我们要删一个微博,应该假如说啊,我们要写一个删微博的方法。写一个删微博的方法,这个地方。在这个啊,我把这个稍等啊。
02:00
在这个如果说那个删除微博的的的那个微博对吧,啊的微博。那正常的我们传东西应该传UID谁删对吧,然后删的微博内容应该是。第二个应该是一个r key吧,对吧,你从前端前台传过来的,不是传入嘛,但是我们自己最后调了一个方法好调。我们自己做测试的时候不好用这个方法,能理解这个事吗?我说的因为我们做测试是不是直接写T,直接调这里的方法呀。对吧,那你这个R可怎么给啊。不好给吧啊,你先要查一下啊,所以呢,这个删除微博啊,我们就不用写了啊,我们就不用写了,只是说正好之前说的这个发布微博删除微博两个组成一套,对吧?啊,因为呢,他跟我们真的有前台页面它不一样,你写的方法你想想看,如果说有前台,有前台页面,你是不是应该写一个UID。然后传一个rookie进来,因为你是对着那个微博点删除嘛,那你先获取了微博,是不是微博的rookie之间能拿到啊,对吧,然后点删除,直接把UID跟U传下去,但是我们自己如果说把这个方法写完了,你自己在测试的时候,你不知道这个U可传什么东西啊,因为你这里边跟时间波相关啊,跟时间波相关,所以呢,我们第二个删除的范围不写了,我们直接写谁啊。
03:24
关注用户。嗯,关注用户是这意思啊,直接做关注用户,好,那我们先写一下public study,然后关注用户直接问吧,啊叫爱的as。好,那我们想一下关注用户。微博页面上关注我A可以关注B,对吧,那我能不能A选上BCD勾上我同时点关注呢?可以吧?这个可以吧,同时一次性关注多个人可以吧,对吧?啊批量关注可以的,OK,那也就是说这个参数我们应该怎么写。
04:11
而且其实对于前台传过的内容来说,你可以一个可以多个。是吧,啊,你用一个集合也可以,我们更方便的是不是有可平参啊,对吧?啊,就不用分装它集合了。哎。String,首先是不是有谁要关注谁啊,就是类似于你要A。哎。UID是不是操作的人吗?对吧,然后spring点点点叫ATS。就是A要关注BCD是不是这个没问题吧,啊,因为有多个啊,你可以传一个,可以传多个啊是这个东西好,那假如说他可以传多了,那接下来我们就对着这张表来分析逻辑了,对吧?首先他既然是关注用户,那么我们最核心的表是不是他。
05:07
最核心的是不是他呀,这没问题吧,啊最核心的其实就是他好那关注用户。A,刚才我们所说的A关注BCD,首先attend a这一行,Attend是不是要加一个BCD这个列对吧?那既然这里边是不是我们刚说的这个列啊,跟这个值存在一样的内容对吧?BCD往这边存好,接下来除了这个还要做什么事?是不是BCD这三个人的分这个列组里边要加一个A呀?没问题吧,啊,当然这个A应该在这啊,没问题吧,老是做这个事,而且这是一张表啊。这是一张表吗?这一张表的话是不是有多条数据,要不的呀,用一个。集合吧,啊,用一个集合,这里面用一个集合,好,那这是这张表,我们把它成为第一部分,那是不是这个事情做完了之后,我们就没事做了呢。
06:07
那你看啊,现在。A关注了BCD啊,假如说此时多关注这个D,是不是A把D要添加进来。而且要把地最近的什么。微博内容是不是给他放进来。对吧,啊叫做这个事,微博内容呢,给它放进来。给他放最近的三条的一个微博内容,给他放来。好,那那我怎么从哪去找这三条微博?微博的呢?是不是从这张表里面扫描出来了?对吧,从这张表里边扫描,然后把三条给它放到这里了,是说这个事他又就是添加关注的,是不是又跨越了三张表一个逻辑,还是分两部分吧,第一部分呢,是我们所说的要操作的是这个什么。
07:00
用户关系表这是最核心的,因为你直接说的是添加关注这回事儿,那你肯定要操作用户关系表对吧,这里面呢,无非就是添加attempt跟添加fans。啊,添加fans这两个东西,好,那还有一个点就在于收电向表,因为你此时A关注了BCD,下一次A启动的时候,是不是应该把BCD对应的微博的一个内容放在它这个前台页面上面,对吧?啊就是说要把这个BCD这个内容呢,给它添加进去,那添加的内容我们当知道这块呢,写的是rookie对吧,D最近发的v rookie那。第一个人发的rookie是不是在这里边有啊,对吧,给他搂过来啊,要查这张表,然后往这里来放。逻辑没问题吧,啊,那接下来呢,我们来写这具体的一个内容啊,写具体的内容。在这。首先第一步。由于它是可变参。合并单是不是我们对这个东西应该校验一下。对吧?啊,其实这个呢,可以在前台校验,也可以在后台校验,是这样的啊呃,前台交易呢,你没有选上人,能点关注那个按钮吗。
08:09
那个按钮是不是灰色的呀,这个是做的前台校验嘛,就没勾上的时候灰色的,那其实这个在后台校验是不是也很方便啊,我们判断一下它长度,如果说假如说前台出问题了,没校验成功,后台我再做一次校验也可以吧,啊假如说他没有选人也点了关注了,那一点关注是不是最后调到后台调到这个好号。对吧,那假如说他传了一个空值,就后面传了一个空值过来,那这样就不合适了啊,所以呢,我们也做一个校验啊,第一步做一个校验这个东西啊。校验是否?添加了对。关注的人对吧,啊这个呢,If。点L小于,如果说小于等于零的话,那so啊,给前台正常的也不是在这打印了,正常的是不是给前台一个消息啊,对吧?说请添加什么。
09:03
请选择带关注的人对吧?啊,那我们写一下起。选择在。关注的诶啊前台一句话,那这个呢,我们其实没有什么前台后台,那我就直接在这什么反应了,OK吧,啊,你正常的是要这个方法的返回值,假如说是一个message啊,你这块封装一个message放进去,然后看到现在去。好,那这个呢,我们写一下直接就干什么。懂了吧,你明明是关注的一个逻辑,然后呢,你连关注的人都没选,那就不行了,对吧,好那。正常的,那接下来往下走,是不是说UID有了这个东西有了吧,啊都有了,掉到这个方法里边,那接下来就要去写那个关注的逻辑,关注逻辑呢,之前我们说了是为同样的分点部分。第一部分。是操作什么。用户关系表啊,那第二部分操作什么。
10:02
操作的是收件箱表吧,收件箱表。还是操作收电下面两部分,那这两部分都跟表有关系,所以呢,我们还是同样的统一的,就获取一下那个连接对吧?啊获取连接。对象,这个对象呢是connection factory.connection constant点。然后得到一个connection。啊,这个一条呢,我们还是抛一下,抛一下好,那我们接下来写这个第一部分操作用户关系表,那第一个。是不是获取这个用户关系的对象啊,这没问题吧,获取用户。关系表对象啊。获取完了之后,那我们想一下应该做什么事,我们把逻辑先捋一步啊,获取完对象之后。是不是应该来创建负的对象?
11:02
首先这里边我问大家一个问题,就是A关注BCD总共有几个回的对象?A,关注BCD。一个。就关于这张表,用用户关系表有几个啊。几个四个吧,对吧,一个对A呢是有三个列。我们说了一个破的对象里面是不是可以放多个里可以吧?啊,还有就是BCD对吧,它还有三个负的对象啊三个的对象,那BCD的对象是不是只能用负循环去。做这个事的对吧?啊,那你构建不特对象之前先准备好,我们之前所所说的,因为你用四个不对量,那你关注的人一次选了十几个,是不是我们可以用一个集合去提交啊,对吧,那我们创建一个集合。
12:04
一个用于存放什么?To的对象对吧,啊的对象。就存放负的量,那这块我们写一下,因为存放那个用户。关系表的不得项OK吧,啊,不得加好,那既然这样第三步你都选了一个集合了,现在你是不是要去准备这些不得分项了呀,对吧?啊,然后就准备不得对象,那第一个我们需要准备的是。操作人的不得对象,也就是A这个人得对象对吧?啊,那就是创建。操作者的负的对象啊,操作的不能量好,那第四步。是不是应该?去创建什么。被关注人的获得对象。对吧,而且呢,被关注人是不是多个应该循环方间法,所以大家要写一下循环。
13:06
创建叫被。关注。者的获得对象啊,循环专间那这块呢,我们先写一个,假如说写一个循环和这因为我们里边要写东西,假如说我先写一个负Y代表一下啊这个地方,当然我们还是用那个增加或循环,对吧?啊这边写一下,因为这里边我们是要做事情啊,对吧?啊第五步。那在这个循环里边,除了要去创建被关注者。这个对象之外,还应该做什么事想想?我们说了它是不是有三个列啊。那三列你不添加它有吗。要自己添加吧,那在什么地方添加呢。你添加的内容是什么?是不是A关注了BCD?
14:00
你添加的内容是不是BCD啊,那你是不是应该一个一个添加。放在三个列里边对吧?啊,放在三个列里边,所以你添加的内容应该在这来添加吧,是不是在循环题里面添加有没有问题,OK吧,那也就是说。第五步,给操作者的对象。赋值,那第六步去创建什么。被关注。者的负的对象,那你被关注者创建完不的对象应该干什么事呢?是不是同样的要赋值啊,对吧,那BCD这三个值你是不是要把A给它放进去啊,啊同样的,所以说呢,接下来给。被关注者的不得绩效赋值,赋值完了之后应该做什么啊?将。被关注者的不得低价。
15:01
放入集合对不对。放入金额,那就单单位了,那第九步还有第九步把这个什么操作者的固定量也放入金额。操作者负责对象,我们是不是应该在外面的放想一想。如果在循环体里面放,是不是A添加了一个B这个列加入进了集合一次,添加C这个列又加进去次,添加B这个力又加进一次啊,但实际上这三个负的对象我们放一次就够了吧,所以应该它也要放集合,当然也要放集合,因为它都是属于当前我们用户关系表对象的一个不能对象,对吧?啊,用户关系表里边的一个不骤对象,好,那我们是不是应该在循环外面等所有的列全部添加完成之后,再去一次性做一个添加呀?对吧,啊,那这块呢,将。操作者的什么铺的对象添加至即可啊,添加至即可合OK吧,好添加完了集合之后我们应该怎么事。
16:09
所有的值赋值完了,然后也添加到集合了,是不是就可以执行。叫用户。关系表的。插入数据操作。就可以去插入数据了吧,啊插入数据操作,那有同学在想,你这个集合里边可不可能为空的,要不要判断一下呢。不可能为空。是不是判断过了呀子一定有值对吧?那这个集合可能没空吗?不可能,最少得有两个对象。对吧,当前操作者和被关注一个人两个对象啊,至少有两个对吧,没问题吧,所以呢,这个地方的时候判断像上面一样判断是否为空了,是这个意思啊好,那我们就按照这个思路来写一下第一个啊,你把注释写好了之后,接下来代码就简单了,对吧?啊,所以说这个就重要的思路啊,重要思路那就是接下来就往里边填那个API,那就是connection.get table table name.off要的是用户关系表,那就是constant点。
17:19
卡宾。对吧,啊没好,那接下来创建一个集合用于存放这个,那这个简单有一个list对吧,List里面放的是put。然后加V,呃,这个呢,我们叫re lats啊啊这个内容啊,接下来是操作者的put对象,又一个put food里边放的是best.To Best词放谁。操作者想一下。UID是操作者吧,这个attempt被关注的人对吧?好,那UID啊,给它放过来好加V得到什么UID不可以吧,啊是当前UID的一个负导啊U负导,好,那这个循环就不能这样写吧,我再改一下我们应该写的循环是。
18:14
对于谁循环啊,被关注的人进行循环啊,应该是attempt点,不是是这个内容,那我们把这一套给它。是不是放到这个里边来呀,对吧,这个大括号应该多了一个吧,没事,OK,那放到里边了,这样就对了吧,好在这里边给它赋值。U could.i color best.who best,第一个是不是列组?列足这个地方constant点用哪一个?用是不是吧。现在你是A呀,你这个东西不是A的那个对象吗?应该添加BCD对吧,那应该是。
19:01
一对吧,啊,那应该是一好,第二个count b,他要一个什么po fair,还记得当时我们在这张表里边,Poly fair和value都是。一个UID对吧?啊都是UID,那问题是这个UID是谁呢。写什么东西呢?是不是被关注的人,对于A来说是不是填的是BCD,那BCD在这里面代码里面是谁啊,是不是attend呀,对吧,那同样的道理,最后一个是不是也一样的Y,我们是当时说了放一样的值吧,啊放一样的值这样一放好,那这个就等于当前U力不的是不是把B放进去了。对吧,好,那接下来是不是要谬一个B的这个什么。Put对象了,对吧?啊,同样的要来一个put,这个里面呢是ba.to把谁放进来。Attend,此时你要注意第一次循环的时候,这个就是我们要的那个什么。
20:00
B对吧A。End不等end不导可以吧,好,然后给它赋值CTRLC,给它赋值A。点at column family,那此时B这个数据来说,它添加的列足应该是谁了?是不是fans啊,添加第二个列读了吧,啊,因为对于A来说他关注了B,那对于B来说它就被A关注了,对吧,他添加的应该是粉丝啊,添加的粉丝好,那添加的粉丝是谁呢?点是不是UID就是A吧,对吧?啊就是UID就是A我们提到的A,那最后是不是把这个Y6也存一分啊。对吧,啊,跟之前保留一样啊,也存一份任意色。哎,这个地方怎不了啊,把它添加到集合,哎,不是啊,是那个,我们之前写的是那个2A负四对吧,点ADD是那个。
21:02
呃,看负的添加进来对吧,那循环三次,你想想看,第一次把B添加进来了,是不是用了一个B的这个对象,B呢,把A这个粉丝添加进来了,到集合了啊第二次是不是C进来创建了一个C的对象,然后呢,C也把A这个粉丝加进来了,添加到集合,同样的道理,D对吧?啊这块呢,用了一个D的对象,D呢,把A这个粉丝也加进来,也加到集合吧,啊也加到集合好这个第一我们所写的是A这个人添加了三个列,对吧?啊添加三个列结束之后,你还要把这个东西干什么,是不是也要添加到集合里边。Rela table点。诶是负对吧,负点I,然后这个谁啊UID记得吧,啊UID是不是这个代表的A呀,啊循环机里边是BCD,好,那接下来执行这个插入操作,就是RA RA table点。负的对吧,把这个我们要的RA给他。
22:04
放进去。啊放进去,诶,这个应该是第二部分。第二部分,好,那最后应该是那个什么关闭资源吧,啊关闭资源还是同样的道理,这个里边是不是也有表要做啊,关闭资源呢,我们同样的还是放在最后啊,放在最后,所以呢,这里边两部分,第一部分呢,相对来说还是简单一点的,主要就对着这张表来说,因为它就是当前一张表在操作,对吧?啊不像我们操作这个收电压表的时候,它是不是跟他有关系啊。对吧,啊跟它有关系,OK,那我们是主要的操作是这张表,你要关注的是A,关注BCD,它其实是四个负的对象。R对于A来说,它是要添加A,错。这要添加三个列对吧?啊,而对于BCD来说呢,它在fans这要添加一个列,没问题吧,啊,就做这个事了好。
我来说两句