00:00
好,那我们现在咱们的这个circle口语句最基础的一个拼接咱们就实现了,然后下面的呢,我们来看一下这个动,这个多条件查询里面的一些特殊情况,比如说呀,然后我们现在把咱们的条件呢给稍微改一下,然后这个张三大家来看一下,我把它给设置为空字无串,那大家想一下啊,这个时候这个条件满足吗?不满足,不满足的话,那我们当前的这个部分的条件会拼接到SQ中吗?不会,那不会的话,大家想想,那后边两个是成立的呀,那所以说这个while后边是不是就直接就跟了一个and,所以下面大家来看我们现在咱们来一个执行。好,大家就会发现它直接就报错了,报什么错呢?这个circle语句咱们一看就知道是哪的问题,这while后边能直接跟and吗?不能啊,好,那所以说这个问题咱们该。如何去解决呢?或者说咱们再来看一个,比如说呀,然后我现在我把这里面啊,咱们的每一个条件,咱们都设置为一些特殊的值,比如说年龄咱们设置为难,性别咱们设置为空字符串,好,然后这个时候大家来看一下这三个条件是不是都不满足呀,那都不满足他们就都不会拼接到circle中,那这个时候我们当前咱们的circle语句里面是不是就多了一个while关键字。
01:22
那咱们来执行一下。找大家看一下直接报错,为什么报错来很简单吧,就是因为我们当前的circle里面是不是多了一个well OK吧,这个问题咱们该如何来解决呢?大家想一下。那我们当前咱们的S句里面多了一个well对吧,然后还有就是我们刚才所看到的,如果第一个条件不成立,那咱们的while后边是不是直接就跟这个and了,那这个时候该如何解决呢?大家想。好,然后咱们先说一下咱们的第一种解决方案啊,然后我们可以在这呢,给它加上一个恒成立的条件,叫做一等于一啊,你想写几就写几。
02:05
但是你的等号左边和右边要一样的,知道不?这才叫做恒成立的条件,那它的作用是干什么的呢?大家注意啊,我在下边的每一个if里面的条件前面都加上一个and,好,然后这个时候大家想,那我们的一等于一恒成立的条件,首先大家要知道它是不影响我们的查询出来的效查询出来的数据的。也就是说这个条件呀,它只是帮助我们来拼接咱们后边的这些条件的,然后同时当后边的条件都不成立的时候,咱们的while后边是不是也会有这个一等于一的条件,而且它不影响咱们查询出来的数据。好,就比如说咱们现在呢,还是都不成立,然后我们现在咱们一个执行大家来看啊。然后大家看一下,这个时候大家看是不是就把所有数据都查出来了。对吧,然后呢,如果我现在我在这把它给设置为难,然后这咱们把它给设置为20,对吧,那我们当前的后两个条件成立,但是呢,咱们的while后边还会直接跟and吗?不会,我们的while后边会有一个恒成立的条件,再跟上这个and OK吧,好,下边咱们再来一个执行。
03:19
好,大家看一下是不是没有任何问题啊,OK吧,这是咱们的第一种解决方案啊,然后在这个地方加上一个恒成立的条件。那它就可以帮助我们跟咱们后边的这些条件去拼接,然后同时呢,当咱们的后边的条件都不成立的时候,那我们当前的well后边是不是还有一个条件能够让我们的well变得有意义,然后同时呢,也不影响咱们查询出来的结果啊。好,这是咱们的第一种解决方案啊,然后下面呢,那咱们再来看第二种,那这个时候咱们就要用到咱们的动态circle里面的第二个标签叫做while标签。然后大家看好了,我怎么写,我把这个circle啊,咱们把它的ID给设置一下。
04:03
叫做get e,然后by condition one。好,那所以说我们当前咱们的这个方法所匹配的是不是应该就是这个色扣回去了,对吧,那我们把它还原一下,一等于一给它删掉,然后把这个and呢,咱们也给它删掉。然后我们现在呢,咱们来使用一下第二种方式,也就是咱们的动态circle里面提供的第二个标签,叫做while标签,然后咱们现在还需要手动去写这个关键字吗?不需要,而是通过我们当前咱们的while标签,然后来选择动态生成while关键字。什么叫做动态生成呢?咱们先来看一下效果啊,比如说我们现在咱们在这把这个张三呢,咱们也给它加上。好,然后我们现在咱们并没有写well关键字,咱们只是用了well标签,但是我们现在咱们一个执行之后,大家会发现。
05:00
好在这个地方是不是就会把这个while关键字自动给我们生成。这个大家能看懂吧,所以说while标签的第一个功能干什么?如果while标签里面有条件成立,那当前咱们的while标签能够自动生成while关键字,大家注意啊,这是它的第一个功能。然后下面我们再来看第二个功能,比如说我当前我的员工姓名这个条件,咱们来设置为空字符串。那这个时候大家会发现呀,然后我们当前这个条件成立吗?不成立,那所以说while标签能生成while关键字,但是它后边是不是就会直接跟这个and呀,对吧?然后我们再来一个执行,大家来看一下啊。好,大家看一下,那这个时候咱们这里面有这个按吗?没有,所以说while标签的第二个功能,它可以将咱们标签里面的while标签中的内容前面多余的and给去掉。这个大家能看懂吗?你看咱们能看到这个效果吗?咱们原来这个条件前面是有and的,但是在这有吗?没有,那说明这个and是不是就会被干什么,被自动的给它截取掉了,OK吧,好。
06:12
然后下面呢,我们再来看它的第三个功能,比如说我们现在这个咱们给它设置为,那然后这个咱们给它设置为空字符串,那这个时候咱们的三个条件都不成立,那while标签还会帮助我们生成while关键字吗?来,我们现在再来一个执行,大家来看啊,你看诶这个时候呢,咱们的circle语句里面是不是就没有will了。所以说well条well标签的第三个功能,如果说当前标签里面没有任何一个条件是成立的。那这个时候这个while标签是没有任何功能的,OK吧,好。啊,下面咱们把它的功能呢来写一下,所以说这个well标签一般都是跟咱们的if标签结合使用啊,然后它可以根据咱们里面的这个if标签判断的结果呢,然后来这个实现相对应的功能啊,然后well标签,Well标签它可以干什么?大家看好它的三个功能,第一个啊A,咱在这来写个A啊,然后第一个功能干什么呢?大家想一下,然后若然后while标签中对吧,然后有if条件啊,If有条件成立,咱们这样写吧,有条件成立对不对?好,然后会自动生成什么,会自动自动生成关键字啊while关键字一。
07:38
关键字。啊,这是它的第一个功能,然后第二个功能的话,大家来看一下第二个功能是什么啊,然后会自动,然后将well。标签中内容前的and,多余的and,内容前多余的and去掉。
08:02
这是第二个功能,第三个功能,大家再来看啊,什么功能,然后弱啊,然后咱们的will标签中,然后没有任何一个条件成立。成立好,然后则则well标签没有任何功能,则well标签没有任何功能,OK啊,行,大家注意,这就是我们当前well标签的三个特点啊。咱们都能够看到对吧,然后如果说有条件成立,那while标签就会生成while关键字。然后如果说while标签里面内容前面多了一个and,它就会把咱们当前多余的and给去掉,那如果说这里面没有任何一个条件成立,那while标签也是没有任何功能的,也就是说它是不会帮助我们去生成while关键字的,OK吧?好,这是咱们的。这个第二个标签叫做while标签,当然咱们这里面主要来讲的就是来解决多条件查询的条件的拼接的问题,OK吧。
我来说两句