00:00
好,那下面呢,然后我们来讲一下,通过咱们的条件构造器,然后来实现一个子查询的功能,好那所以说可见我们的条件构造器它能实现的功能还是非常多的啊,那我们在这儿呢,也是找了一些功能,然后给大家演示一下其他的一些功能的话,大家可以自行的去测试一下啊好,那首先咱们先来创建一个方法public,然后VO叫做TEST07 OK,好,那我们现在咱们要来查询什么呢?大家注意,然后这个子查询,虽然说我们现在要想实现这个功能,我们有更简单的方法,但是在这儿呢,咱们仅仅是为了测试,所以说呢,那我们专门用来测试一个咱们的子查询的功能,咱们要来查询的是ID,对吧,然后小等于,然后100的用户信息的用户信息,OK,当然这个操作大家都知道非常的简单,但是我们现在要想用这个子查询来实现。
01:00
的话,大家说我们应该怎么去写呢?首先大家来看,咱们先把我们的query wrapper,然后创建出来,OK。好,大家想想,那如果我们要通过子查询来查询ID小于等于100的用户信息,我们的SQ语句怎么写,大家想想我们可不可以这样去写啊,首先我们先来查询出来我们的UID是小于等于100的,因为咱们这里面的数据呢,咱们从这是从100开始的啊,所以说咱们来写一个小于等于100的UID,然后from,表明T下划线,然后user OK吧,好,然后while u ID是小于等于100 OK,那我们现在呢,咱们是不是就可以把这些数据呢?然后F9,然后把它给查询出来,然后查询出来之后,然后我们是不是可以把它作为条件,这些我们查询出来的UID是不是就可以来作为条件,再次来进行查询,对不对,Select share,然后from t_user,然后while u ID,然后in括号,大家来。
02:10
来看咱们可不可以这样去写呀,可不可以应该是没有问题的,对不对?F9之后,咱们是不是就能够把我们所需要的数据查询出来,OK吧,当然呢,有的同学可能会说这样咱们去写的话没有任何意义,但是只是给大家做一个例子,大家要知道如果我们要写子查询的话,咱们该如何去使用,OK吧?那下面那咱们就一块来看一下该如何去实现呢?首先我们的carry wrapper里面,因为我们要用到了一个in这个关键字,所以说我们现在需要用到的方法叫做in circle方法,大家注意啊,叫做in circle方法,首先第一个参数,然后是我们当前咱们的子查询判断的时候,咱们要来设置的一个字段,其实就是我们的UID,然后第二个叫string in value,那大家说string in value,也就是我们当前咱们的in要比较的一些数据,那这些数据我们是不是要通过一个circle语去查出来呀,对不对,所以。
03:10
说我们当前咱们的第一个要来写的是我们的子查询判断的字段,第二个我们的in value,咱们判断的这些数据从哪来?从我们的一个circle语句而来,Select u ID from表明T_user,然后while u ID小于等于100 OK。大家注意,这个就是我们当前子查询的一个写法,然后我们现在就可以获取的啊,咱们的query weper咱们创建出来之后,然后下面我们来找一个方法,比如说咱们还找我们的user mapper.select list,然后把咱们的query wrapper,然后给它放进来,在这咱们就可以获得一个list的集合,然后下面咱们直接通过for each,然后将它给输出就可以啊,点out,然后print l OK,那这个时候我们再来看一下咱们的circle语句是不是跟我们刚才在咱们的样里面来写的是一样的呢?当然呢,咱们所写的这个数据的话,大家注意啊,咱们是没有加逻辑删除的这一个前提的,对不对?我们所执行出来的SQL语句肯定是要添加这个条件的啊。
04:22
好,大家看正常执行,然后我们执行出来的结果,大家看一下有没有问题,没有问题,我们刚才通过S扣样所写的S扣句一共是几条,一共是七条,但是咱们的123是不是都处于已删除状态,对不对?所以说我们现在呢,咱们来查看咱们的circle语句,大家看select,我们的每一个字段,From表明首先前提条件,前提条件这条数据处于未删除状态,并且然后第二个条件是不是就是我们当前的一个子查询的条件,OK吧,好,大家注意啊,虽然说没有什么意义咱们的这个案例,但是呢,如果以后我们要用到了咱们的子查询的话,大家要知道该如何去写啊。
05:06
好,咱们把这个SQL语句呢,然后咱们把这个SQL语句复制过来,然后把它放在这个位置,好啊OK,那这个就是我们通过咱们的query weper,然后来实现的一个子查询的功能。
我来说两句