多条件查询

这篇博客讲述了如何处理页面多条件查询的过程,包括获取和处理查询条件,避免空值引发的错误,以及在控制器中使用Lambda表达式进行数据库查询和数据筛选。最后提到了在layui框架中使用方法级重载更新表格数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多条件查询

页面多条件的查询:页面数据获取-- >对数据进行处理-- >把处理完的数据传递给控制器进行查询—>控制器查询出的数据—>数据返回到页面数据表格的重载
获取查询条件(获取页面用户输入的或选择的查询条件),获取到的数据等同于页面传送的数据。在这里插入图片描述
在获取数据的时候,可能存在不部分数据用户没有输入,存在我们获取不到(相关值)的情况。因而我们需要对页面获取到的数据进行处理(判断这些获取到的数据是否存在,是否为空)如果获取到的(数据)或id等于空,或者是等于underfind,那我们就为它的id赋值为0,(为什么要赋值为零呢:如果id为空的话控制器会直接报错)对于文本类的或是字符串(没有输入的情况下)我们可以让它等于空,字符串可以为空,(如果没有对数据进行处理,那么把数据传递到控制器的时候,会到致控制报错)在这里插入图片描述
在进行完数据处理完后,需要进行控制器的书写,把我们需要获取到的数传递给控制器,用控制器对数据库查询,并把查询出来数据传回给页面,然后用方法级渲染重载表格(下图为方法级数据重载)这是layui里面的重载方法,关于重载layui里有俩种重载方法:一种为自动化渲染,另一种为方法级重载。在这里使用第二种(方法级重载)在使用layui前需申明一个全局变量方便调用layui,使用layui方法级重载需请求控制器,url:(后是请求的控制器路径)where:行参:实参(where:是查询的条件,行参没有参数需跟控制器接收的保持一致。实参有参数,等同于if判断中的id)具体重载方法详情请自行翻阅layui文档
!!!使用需把调用方法:searchTabStudent写在layui的初始化方法里面。
在这里插入图片描述
下面是对控制器需要进行的操作:需要先对数库进行实例化myModels,连表查询
在这里插入图片描述
在连表查询出数据后,我们还需要对查出的数据进行筛选, 利用传人的参数进行条件的筛选在这里插入图片描述
下面我们用lambda表达式进行数据筛选()where(条件)意思是,第一个m代表前面的listStudent=listStudent.where().Tolist();
这句代码前面部分是“linq的写法
=>这个符号是运算符”
这个listStudent里面的班级id如果等于我传递到控制器的班级id,那就返回来(我这里除了对班级进行筛选,还需要对学院,年级以及对传入的字符串进行筛选处理)
在这里插入图片描述
上图中的最后一个判断是让(页面文本框输入的字符串在控制器查询到学生名的出现过该字节的,和学生学号出现过的学号信息都返回来)只要包含该字符串的,在数据库查询出来的都返回来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值