00:00
分页查询我们现在已经做完了,接下来呢,我们要做的呢还是查询,只不过这个查询呢,是在我们的这个位置,我们输入条件来查询,那么这个条件呢,是这样啊,我们的用户啊很多,那我们不可能全都能把它记住,所以啊我们可能只记住他账号的其中一部分内容,比方说我记得有个A,那这样的话,我就希望点击查询之后,把账号当中有A的给它取出来。所以这其实是一种叫模糊查询,那接下来我们就把模糊查询功能呢,给大家来演示一下啊,那么首先我们在这里呢,要想去做模糊查询的话,我们得点击这个按钮,所以先把页面打开,找到这个按钮。呃,这个按钮呢,在我们的这个位置啊,当我们点击按钮的时候呢,他准备要开始查询,所以我们给它增加一个点击的。
01:05
事件或者方法,然后呢,通过ID选择器把事件和方法给它加上,然后我们这里就叫query button叫查询按钮,然后呢,你点击它的目的是希望把这个条件作为参数在分页查询里面去使用,所以我们还得给这个文本框再加上一个ID,方便找到它,我们叫query text叫查询的文本啊好,接下来把我们的按钮给它增加上,嗯。在页面内容加载完成之后,给它增加一个点击事件click,然后function回调方法,回调方法以后是这样,其实你点击这个按钮的目的呢,也是为了进行分页查询,只不过是要把它作为条件加进去,但是如果你要是没加任何条件呢,那在我看来可能就是全查了,你加上条件就是说模糊查询,所以呢,我这里呢,给它加一个标志,咱们叫like flag等于false,表述的是不是模糊查询,那什么时候是,什么时候不是呢?取决于我们那个文本框的值,所以我写上咱们叫做查询的文本,它等于Dollar符,然后井号text,然后点value,那我们来看看它的曲子if。
02:35
如果它是空空字符串,那就说明啊,你没有输入任何的条件,你点了查询,那么这个时候like flag,它等于false,你不需要模糊查询,但是它如果不是空置物串,那这个时候你可就该模糊查询了,所以把它变为true好了,那么然后你接下来就去查就行了,我们叫page query,然后肯定也查的是我们的第一页,所以我们把这个功能给它加上,那么加上了以后,那就意味着这个标志它决定了我们当前。
03:13
到底啊,需不需要模糊查询,所以在这种情况下,我们需要在我们下面的这个地方,我们来把这个参数要发生变化,它根据我们是否需要模糊查询呢发生改变,所以在前面我写上叫JA森date,你的一个Jason的数据,然后把这个给它原封不动拷贝过来,拷贝过来以后我放到这个位置就可以了,啊把它诶放在一行里面,然后接下来我判断叫diff,咱们叫like flag,如果它等于true,那这就说明你需要模糊查询,你需要得到它的数据了,所以我们写上叫Jason date,然后写上一个点叫query text,叫查询文本,那么它的查询文本其实就是我们文本框的值,所以在这个时候呢,我们把这个值给它拿过来拷贝。
04:11
考到以后,那么这个值我们就拿到了,拿到了以后它才是我们要传递的数据,所以给它放到这里好了,那你把它放到这里之后呢,我们走分页查询的时候,在后台就可能接收到这个参数,所以来打开,打开以后在我们当前的方法当中,我们需要把这个参数给它加上,叫做string,叫query text,咱们叫查询文本,那么这个查询文本其实就是我们的条件,那么我们就在map里面点我们的put,然后我们把这个条件给它加上,我们刚才说过了是我们的账号啊,那所以我们这里来写上啊,我们叫查询的文本query text,然后把它放过来就可以了啊好,那你放完了以后呢,接下来我们再去做查询匹配的时候,这个时候我们要看一看S文有没有什么变化了。所以打。
05:12
哎,打开以后,我们之前啊是没有增加我们的条件的,我们直接查就行了,那么现在可不行了,现在有可能有条件,那是不是意味着我们直接要写上一个where,我们叫log in account,然后我们写个like like呢,它后面应该写上一些我们特殊的操作,叭方说我们的它百分号A,这个是我们的模糊查询,但是呢,我们这里不是A,它应该是个参数,应该是个变量,所以我们应该用井号大括号,然后呢,写上叫query text,那这样的话你的参数就过来了啊,可是你要这么写的话,万一我要没有传怎么办,我没有传递我们的参数,那这个条件可就不存在了,所以这个条件他可能有,他可能没有。
06:03
那我该怎么办?那你有我们就加上,你没有就不加,那我们这里就需要动态的蛇口标签了,所以在这里我们间括号,尖括号里面有一个我们叫做where标签啊,然后里面会有条件,咱们叫if,当我们的query text,它不等于那的情况下,就说明它有值,那有值就说明条件有了,那这个时候我们把它放到前面来,我们写上个and,诶放到这边好了,写完以后,那么这个like我们这么写,这么写我们依然有问题,为什么?因为我们这边的S口纹,它其实在做转换的时候,在做执行的时候,并不是真正的S口纹,因为它会变成问号,可是问号的外面如果有一个单引号的话,那说明它不是占位符,它不是参数,它就是个普通的字符串,那这样的话,我们数据库的。
07:03
么SQL语句是查询不出来任何的数据的,因为如果你这么写的话,他会认为我要从登录账号当中查询有问号的数据,那这不是我想的,我需要的是那个数据啊,它是变化的,所以这个值我们应该采用特殊的方法,所以我们写上叫,然后在这里把它加上,也就意味着我们这里呢,需要把我们的井号大括号放在我们引号的外面。所以我们这里呢,应该这么来做啊,然后把它拿过来,嗯,好行了,那我们这么做才是正确的,否则你查询的结果是有问题的啊好,那这个写完了以后,问问同学们下面的这个count,我们需不需要把这个条件加上呢?需不需要?需要,因为我们查询的数量,它会受到条件的影响,条件发生了变化,你的总的数据条数它也会发生变化,所以我们这里也得把它拿过来啊,给它放过来,嗯,好了,那我现在呢,就把咱们的这个蛇文啊写好了,咱们试一试,看看模糊查询能不能起作用。
08:23
把服务器给它启动观察一下好了,服务器现在已经启动了,启动了之后,接下来我们来看看我们的效果对还是不对,来我们刷新,刷新以后数据没问题,然后我写上一个A,我就想查询我们数据库当中账号里面有A的数据,我要查出来,那明显呢,李四是不对的。它里面没有A,所以我点查询点点完以后大家会发现我们只有一页两条数据,李四没有了。
09:01
那么我把A去掉,我们说了你没有加任何的条件,那么你点查询其实就是全查呀,所以点诶大家会发现没有问题,说明我们的模糊查询也是对的。
我来说两句