温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,接下来的话,我们就来给大家测试一下我们这个逻辑删除啊啊,因为我们重新诶换了一个这个实际类了啊,所以说呢,我们还需要给大家提供上一个啊接口,我们再来把这个接口呢写一下啊,有一个这个interface好,我们就叫做这个user好map。然后呢,我们让这个user map呢,就直接去继承我们的这个贝就行了。好贝map,然后呢,把这个user类呢,给它写到这个地方。好,倒上一个包好这个有了以后呢,啊,我们在这个测试方法中的话呢,我们再把这个user member呢给它获取到,好等于ctx get b,好就叫做哎有map。要class。好把它写到这啊,然后有了它以后呢,我们就可以来做测试了啊,大家一起来看一下,我们来测试我们这个逻辑,诶删除。
01:03
好,Logic delete,好,加上我们的测试方法,然后在这里面的话,我们就直接使用这个,哎,有map,比如说我们调上一个方法吧,哎,Delete啊,By ID。好,我们来看一下啊,比如说我们就把这个一啊,再给它删掉,好串进来一个一,然后呢啊,最后的话,他会给我们返回一个这个结果啊,我们来把这个结果呢给他诶接收回来。好,我们来输出一下这个结果。行,那我们来运行一下,大家来看这个效果。好,让走一下。OK啊,那我们能看到这个折呢,也是没问题的,然后呢,最后的结果呢,也是一啊好,但是呢,我们来仔细分析一下,我们做的呢,是一个删除操作,但实质上呢,大家来看一下这个SQ它变成了什么了呢?诶它是一个update的操作,做了件什么事情呢?他把我们的诶逻辑删除字段呢置为了负一,而这个负一的话呢,诶也是我们刚刚在配置的时候,好在这个地方告诉他的,告诉他如果是一个删除状态的话呢,你就把它置为一个负一,所以说呢,他在删除的时候呢,就并没有做这个真正的删除,而是把它的这个删除字段呢,诶置为了一个负一,好,我们在数据库里面,我们来验证一下。
02:34
好,我们就能看到它就是一个负一,所以说呢,现在的话呢,呃,对于我们这个my plus来说的话,他认为这条数据呢,就是一个被删除的了,好啊,那比如说呢。我们来啊,再来做一个简单的测试,比如说我去查询这条数据,好我们来去查一下啊,怎么查呢,叫做select by ID,好我还是查一这条数据,那么将来的话呢,诶,我们期望他给我返回一个右侧对象,但实质上我们来看一下能不能帮我们返回回来呢。
03:06
好,大家可以猜一下啊,我们来运行一下。好,这个地方它给我们返回的就是一个空,好那么为什么返回空呢?你明明这个数据库里面是有这条数据的呀,怎么会返回空呢?诶因为你加上这个逻辑删除以后呢,大家来看一下它的这个soq也就变成什么了,这个soq就变成了,诶我再去查的时候呢,我不仅要去查你的这个ID等于什么,并且呢,我还要去,诶逻辑删除字段它必须是一的,我才能给你查出来,就说明他在查询的时候呢,诶也在我们的这个soq的后面呢,帮我们拼上了这个,诶逻辑删除字段等于一个未删除状态的哎,才能被查出来,所以说呢,这就是我们的一个诶逻辑删除。好,所以说呢,大家要记住的就是加上这个逻辑删除以后呢,他最终在操作的时候,如果你是查询操作,诶或者说我们这个更新操作的时候呢,他就会在我们整个这个搜QL语句的后面呢,诶再给我们拼上一个条件,就是我们这个V,诶你这个logic flag,就是你这个逻辑删除字段呢,诶它是等于一个未删除状态的,那么如果你做的是一个真正的删除操作的话呢,它反而会帮你转化成一个更新操作啊,就是把你要删除的这条数据呢,诶比如说这条数据要被删除了,那么把他的这个诶啊删除字段呢,给它置为一个删除状态,就是不会把这个数据呢真正的从数据库给它删除掉,好,那么这样的话呢,诶,我们就很轻松的就实现了,我们,诶之前给大家分析过的这个假删除啊,或者说这个逻辑删除的这样的一个效果好。
我来说两句