温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:01
好,那么接下来的话,我们再来,诶简单的给大家去分析一下我们刚刚使用的这个逻辑删除呢,诶它的这个原理啊,是怎么去做的,那么其实这些代码的话呢,大家现在看起来应该就特别简单了啊,我们来看一下,首先呢,我们来到这个law这个啊,So injecor里面,大家来看啊,它呢,也是去继承了我们这个auto so inject,然后呢,去重写了,诶它这个类里面的这个注入,诶删除的呀,哎,注入我们这个啊,比如说删除的啊by map呀啊注入我们这个查询的啊等等一些,那我们就以这个删除的时候来举例子,比如说现在我就是一个删除操作的话,那么大家来看。好,他就会什么通过诶这个方法呢,去帮我们注这个circle了,那么首先呢,他判断你当前呢,诶是不是一个逻辑删除的,如果是的话呢,大家注意他拿到了这个circle method呢,诶就不是我们原先拿到了那个circle method里面的这个,诶叫做什么delete by ID了,他就不拿这个了,而是拿的什么呢?拿的是我们的诶logic delete by ID,那么我们能看到的是,如果你是原生的delete by ID的话,它里面就是一个删除的操作,而拿到这个logic delete版ID的话呢,它本身就已经是一个更新操作,好所以说呢,这个地方我们就能看到,当他拿到这个以后呢,诶接下来的操作就是还是诶呃拿到我们的这个组件列,然后呢,当然啊,我们现在也不是一个批量的操作,然后呢,再通过我们这个string might,把我们的这个soq拿出来,把我们的表表明拿出来啊,然后呢。
01:32
再把我们这个相关的这个列名呢都传进去,最终呢,我们拿到一条这个SL语句,那么其实拿到的这条circleql语句呢,诶就是一个这个update更新的一个操作了,好,那么其实这些代码的话呢,我们之前呢,也诶都给大家这个大概的分析过了啊,所以大家看起来的话还是比较简单的好,所以说呢,最终的话呢,他又把这个soql语句呢,再给它去构造成一个s source,然后呢,再加到一个叫做update map statement,所以说呢,诶你的初衷呢。
02:01
诶是一个这个删除的操作,但实质上我们将来再去这个进行售后注入的时候呢,它就已经变了,它就已经什么诶变成一个更新的一个操作了,所以说呢,诶你看起来呢,我做的是一个删除操作,但实际上呢,我们在最终注入完成以后呢,你所调用的这个方法呀,诶他绑定的那个sol语句呢,诶就已经变成一个update的这个操作了,好所以说呢,这就是我们诶logic so inject啊它这个逻辑删除的,诶底层的这个原理啊,那么其实呢,通过这个代码呢,就很直观的就能把它体现出来了,好那么啊暂时的话呢,我就是先带着大家呢,简单的分析一下,如果说感兴趣的同学的话呢,诶你也可以通过我们的debug呢,诶一步一步的去跑一下,看一下它这个每一步过程中呢,我们相关这个代码呢,诶一个变化,以及我们这个相关SQL语句的一个变化。好。
我来说两句