1、先看不加判断的sql语句怎么写。
2、我们看到where和and。也就是说,当username和sex都有值的时候 使用where和and在Mapper-User.xml文件中:
3、接下来讲解where、if标签含义:
4、where标签会自动判断前面是否有字段,如果有字段会使用and sex=${sex}这个语句。
如果没有字段,and会被忽略直接跟在where后面。
也就是说,如果username为空但是sex不为空的话。输入的sql又是什么?
5、username和sex都存在的测试类:
6、执行后控制台输入的sql语句为:
7、如果username为空只有sex有值,会报错吗?
请看测试类:
8、再看,执行后输出的sql语句:
9、总结如下: