前言
- 【音乐博客】后台便是以koa开发的,所以会记录在开发中遇到的坑以及解决
一个方面
1. MySql当查询条件为空时不作为条件查询
- 最近开发遇到一个很普通的条件查询,这个条件可传可不传。
- 又不是像mybatis那样又专门的SQL.xml文件,需要自己写sql文。这种情况下,需要去判断每个条件是不是为空,后来发现一个很有用的sql语句,能非常简单的解决这个问题。
- 正常这种多条件的情况下,我一开始时每个条件都会依次去判断是不是存在,然后根据判断结果去写sql文,这样下来这个方法的内容时非常庞大并且很容易出错的
- mysql里面有种写法是这样子的:
select * from 表 where (字段=条件 or 条件=' ')- 我是这样理解的,当条件不为空时SQL就是这样的:select * from 表 where 字段=条件; 当条件为空时SQL就是这样的:select * from 表 where ' '=' ';所以就满足了多条件并且条件是不是为空未知查询的这种情况。
select * from qiniu_photo where username = '${req.username}' and ( file_name = '${req.form.fileName}' or '${req.form.fileName}'='')- 这样做就不会像之前那样,方法庞大还容易出错。