参数为空时如何查询全部数据?需要在参数条件中写什么?
参数空不加查询条件不就好了吗
最简单就是一个个判断参数是不是空,然后一步步加查询条件
如果是在 SQL 语句中处理, 可以给 WHERE 之后的所有查询条件加个括号,在括号之后加上 OR 1=1
参数为空时查询全部数据
需要在参数条件中写 or ? is null 即可达成效果,参数不设置默认值既要展示全部数据时可使用.示例如下:
select * from 订单 where (条件1 =? or ? is null)
修改后 2 个 ? 对应同一个字段且数据集参数中 2 个参数表达式必须一致,且与 sql 语句中 ? 顺序对应,实际的意思就是,两个问号都作用于员工姓名字段。这样简简单单两步修改后,就阔以实现参数为空时查询全部数据了。
那如果多个查询字段呢?这个只能对应一个字段吧
如果你用的是mybatis,可以通过<where>标签来的if子标签做到,如果你是自己手动拼接sql,有一种简便的写法是where 1=1,后面的条件就可以通过拼接and param1=xxx(只有这个查询参数不为null才拼接)。