00:00
好,刚才呢,我们是把这个关注用户这个整个的逻辑给大家写完了,好写完了两块,那接下来我们应该写什么了,取关了是不是啊,取消关注应该是第四个方法了吧。啊,第三个是吧,应该是第三个啊,第三个叫取关。呃,取关是不是就删除啊,这个方法就很简单了啊,对吧,删除比较简单一点啊,比较简单一点。好,Public这个,然后是删除,也报一个叫呃D的那个APS。那既然关注可以批量关注取关,是不是也可以批量取关呀,对吧,那string类型的一个UID,然后string点点点的一个什么。呃,DLDLS吧啊,就是例例子啊,OK,就这样简写一下啊嗯。
01:01
啊,那取关可以,那我们看一下还是核心的业务逻辑,取关是不是最核心的还是操作的一个用户关系表。那刚才你怎么填的,把它怎么删掉不就完了呗。对吧,对于这张表A现在要取关BCD了。那就是对于A这个人呢,建一个delete的对象吧,这个时候不是铺的对象了,对吧,Delete的这然后三个列吧,啊把BCD3个列给它放进去,同样的在循环里边是不是建立BCD3个D列对项,然后放在一个定delete的一个集合里边去批量操作对吧?哎,删除就行了,其实跟刚才我们所看到那个添加是不是恰好给它反过来。对吧?啊,刚好反过来这一次啊,那接下来是不是这张表,既然你A把BCD给它删掉了,那接下来你登录进来,A登录进来的时候还需要展示BCD的规模吗?不需要了,对吧?是不是A要将BCD这三个列全部删掉,那问题来了,这里边多个版本,我们用什么?
02:05
是不是应该用加S这个方式算?对吧,应该有加S,就是因为我都关,我都取关你了,我管你发几条微博,我一条都不要吧,对,三个版本也好,五个版本也好,通删掉是不是加S这个方式删对吧?啊是这意思啊,那我们就就这个逻辑就简单很多啊,简单很多来这个可以一块来写一下,呃,首先第一步还是统一的,因为这个时候跟内容表是不是没关系啊,我删除东西,我管他说可是什么样的吗?我管的内容是什么,不用关注吧,啊,所以呢,删除这块就简单一点了,好,那这个第一步还是去获取。Connection对象对吧。可能是这样好,那我们还是分第一部分。啊,还是永远都分为第一部分跟第二部分对吧?啊第一部分,第一部分应该是操作的是谁啊,叫用户关系表对吧?啊然后还有第二部分。
03:05
第二部分应该是操作的叫收件箱,对吧,那那因为你关注跟取关刚好是相反相反的嘛,对吧?啊,那你怎么关注的就怎么取关就完了啊,我们取关好了,好,这是三个核心逻辑,我先把它写一下,这个是connection factory.create connection。Constant。啊,分号看到奥加V得到这个连接,这个异常的奥迪飞车先抛一下啊抛一下OK,那我们把这个链接先统一的获取到,那接下来操作这个用户关系表啊里边核心的步骤第一。是不是获取这个表项了,对吧?啊获取叫用户。关系表对象第二步呢?创建一个集合,刚刚我们说了是不是有四个的例子对象啊,对吧,你要创建一个集合,创建的集合用于。
04:05
存放。什么内容?叫用户。关系表的。De,电delete的对象了吧,之前是放不的对象了,现在是放这个电delete的对象了啊好,那接下来既然你要放这个离图象,是不是应该有D离的电压对吧?第一个是创建操作者的地delete的对象吧,啊地类的对象,好,接下来第四步。是不是应该是还有被关注,被取关者的什么。第六对象对吧,同时是不是还要给这个第六对象,在循环题里边去添加列信息就复值啊做这个是吧?好,那这块呢,我们写一下叫循环创建。被取关者的de的对象对吧,那这块呢,我们还是写一个负I对吧?啊,还是写一个负I在这块这个呢,写给一个十啊给个十好在这个循环机里边第五步我们操作的是应该是给。
05:14
嗯。操作者的第六对象干什么扶持,那第六步是不是去创建。被取关者的。比例是这样吧,那同样的,既然你是一个对象的话,是不是你要删除,是不是也要给你赋值啊。对吧,你不能说。把取关者所有的那个内容都给他删了,因为你只传入key进去,这个时候可以删啊,虽然不能够插入去,但是可以删,对吧,你删把整个入都删掉了。那你就只是你A取关了,我我BCD之间互相可能还关注了,你不能把它干掉吧,所以还是同样的要指定到列这个级别去删,对吧?啊直接到列级别删,那接下来就是说给。
06:00
被取关者的激励的对象。复制,复制完了之后,在这个循环机里边,应该将被关注者的D对对项添加至。几何对吧?啊,同样道理,在循环体关里面要做什么事啊?将操作者的比例的对象。添加至。集合啊,最后好,这些东西都做完了之后。执行删除操作吧,啊,执行叫这个用户。关系表的删除操作对吧,啊关资源呢,同样的我们最后一段呢,还一样的道理。好,那我们把它写一下,第一个获取用户关系表的一个对象啊,获取对象啊,这个地方呢,是connection.get table。Table name of,这个里边我们应该放一个,放什么东西?
07:01
不是放不是放UID,是放那个用户关系表吧,关2VI。Ta标对吧?啊这张表,然后创建一个集合用于放delete的对象,那你有一个a list对吧?这里边放的是比delete的对象啊,看到将V得到这个。例子啊,得到这个,然后改个名字叫relea吧,啊是关系表的一个delete图象啊,这个对象好创建操作者的delete的对象又一个什么。Di delete啊,那这个里边放的是一个rookie best To Best放谁。操作者是不是UID啊,对吧,UID看到嘉宾叫u ID de对吧?啊UID的一个delete的啊,这个负I我们是不是要给它替换掉,把这个大括号先给它去掉了,然后它呢,给它去掉应该是DLS点。
08:05
For对吧,啊点four好,然后把这个5678这个整个的东西给他干什么。挪进去吧,啊,之前我们的思路啊,给它挪进去好,那接下来。给操作者的delete对象赋值,那就是UID这个delete点的哪个?用哪个方法?是不是这个。对吧,首先family不行吗?我只是取关了BCD,我可能还关注了EF,你把整个列图删掉,这不对,你把EF就多删了,对吧,那你也不能用这个吧。这个有什么问题呢?这样防止出现这种情况,我刚把它取关了。
09:00
我又给他加进来,然后还有一个这个情况,因为我们这个代码呀,虽然我们写的一个版本,但是在后台我们没有做校验,什么校验呢,其实这个你用这两个都可以。因为这两个都可以啊,为什么呢?是这样的,如果真的在生产环境当中,你前台要做校验呢,什么意思呢?如果用这个问题,假如说我们现在写有问题,问题发生在哪,大家知不知道。是不是用这个绝对没问题啊,我们不聊了,我们聊这个。我们当前写的代码当中可能出用这种方法可能出现什么样的问题?就是连续关注两次。因为我们的代码没做校验,这个地方我们是不是可以写A连续关注B两次。我关注两次,关注两次之后,如果说你删除的时候只删除一个版本,是不是等于那个关注没删掉啊。
10:02
能理解这个事吗?但其实生长环境当中,为什么说你用这两个任何一个都可以啊。关注,因为你关注了那个人之后,你还能对着那个人去点关注还什么。前台做交易,就是你关注的人不能再点关注了。对吧,也就是说这个里面只要你插入了一条数据,除非你把它删掉之后才能插入,在你没删的时候,你能再put数据进来吗?是不是put不进来,那既然你这个里边最多只有一条数据,那是不是?用S或非都可以啊,对吧啊,但是呢,用这个是不是更保险一点。啊用加S的,我不管你添加了这个人添加了几次,我一删取关注的时候,我管你添加五六次啊,什么东西我都给他删掉了啊,都给他删掉这种就更保险一点啊,要注意一下,好,那这个地方我们写一下BY.To By第一个是不是列足啊。列点。
11:00
什么?是不是A取关BCD应该在关注那个列图里边,给它取消掉C1对吧,啊C1OK,这列图列呢。列呢,是不是当前那个D啊,就这个人吧,就这个人D啊,这个删除的时候值不用写吧,啊删除的时候值不用写好,那接下来第六步,创建被取关者的delete的对象。那你一个比例的。这个里边best.to要放什么东西,是不是D啊?这个是被取关者,好叫,呃。De,可以吧?DL的被取关者的什么?这个对象好,呃,那接下来被取观者对象赋值,如果说你不赋值,你现在是不是把BCD所有的数据全给删了,那个rookie都删掉了,他关注的呀和他粉丝啊都删掉,这不行啊,你只能删他的一个什么。
12:04
粉丝,而且只删一个列吧,还是要指定到列好,那同样的第啊第delete.a还同样的道理,是不是这两个在生长环境当中都可以?对吧,因为你A关注B两次,那就等于B把A添加了两维粉丝,对吧,没问题吧?啊,那就防止那种情况出现,我们都加一个什么S啊,肯定是没有问题的best.To Base,此时列足跟上面这个列组就不一样了,是不是点什么,是不是CF2啊啊,它是粉丝这个列组啊。best.To Best这个值,这个列放是不是当前操作者对吧,你要删除A,你要把A删除掉,好,那这个地方我们再来。把它添加到集合,这个就简单了,我们上面有一个那个叫re LA delete对吧点。Dl delete的啊,添加进来对吧?啊添进复制完了,然后接下来将那个操作者的delete的添加来那RA delete点。
13:06
是不是UID对的呀,对吧,啊UID个好执行这个用户表的关译表的删除操作RA table点。地利的吧,啊地类的,然后把这个I例子给它去。OK吧,啊这块就搞定了啊删除其实正好逻辑跟我们之前那个逻辑恰好看什么相反对吧?啊恰好相反,但是第二部分逻辑可比刚才那个简单多了。对吧,我们来分析一下第二部分呢,我们只要简单的获取报这张表的一个对象,删除的时候。是不是一定有啊,对吧?啊,删除的时候接下来,然后把这个BCD这个列给它删除进去了啊这个地方呢,你不用看判断delete的是否为空,因为删除的时候可以指定到rookie去删除的,而这意思啊,那我们来删一下。
14:03
他不会报错啊,那这个呢,首先第一步。叫获取。收件箱表对象对吧,这个时候就跟那个什么内容表一点关系都没有了,第二步创建。操作者的。Delete对象。第三步呢?给这个东西。负值对吧,而且这个负值,这注意一下它应该是一个什么。是不是一个循环赋值啊,对吧,因为要负三个列。因为你A取关BCD是不是应该负三个列的值啊,循环赋值啊,循环赋值完了之后可以执行。删除删除操作了吧,啊,执行删除操作。执行这个收件箱表的删除操作好,执行完之后最后干什么关闭。
15:11
资源对吧?啊,关闭资源是这个意思,那其实它的一个核心逻辑就非常简单了啊简单OK,第一个获取收电压表connection.get table。Table name.very off这个地方呢,是constant。In,对吧,啊叫box。Table,好,接下来操作者的一个低对图像又一个什么。第delete的啊操作者的,那就best.To Best,把这个UID进去吧,啊CTRL加V。当前第一个这个呢是in box e啊in box好循环赋值,那这个循环赋值应该是DS点。负对吧,这个呢,我们就给它干掉了啊,给它干掉了,那负的值我们来写一下,是in box利的。
16:02
点at克斯吧,道里,那这个地方呢,是best点。白色。Constant点是不是in box table CF啊,对吧?啊,这个东西好,那接下来是best.to次把谁放进来,是不是D。啊,DL扔进来好,那列接完了执行删除操作就简单了,In box table.delete叫in box delete对吧?啊,这个就关闭资源,关闭资源这个时候没有什么内容表可观嘛,一个关系表。点一个这个Bo表。还有一个connection连接点验是吧,对吧?啊资源给它关闭一下,给关闭下,那其实删除操作呢,相对来说就简单很多吧,啊就简单很多,因为它跟内容表就没有什么关系了啊,内容表没有什么关系了。
我来说两句