Mybatis中的动态SQL
当存在多条件查询的SQL时,当用户某个条件的属性没有写时,就会存在问题,在test中则不能很好的运行
- 所以Mybatis提出了动态SQL。
即判断用户是否输入了某个属性
动态SQL中的一些问题
方法一
这个里的and是为了确保if条件可以没有顺序的执行,1 = 1恒等式是为了起到缓冲的的作用
方法二
使用标签来替换where关键字(就可以省略恒等式)
单条件的动态查询
- 《choose》相当于switch,其中的《when》标签相当于case
- 《otherwise》相当于default,如果上面的标签都没有执行,就执行《otherwise》
在《choose》标签的作用下,其中的多个《when》标签只可能执行一个,或者当其中的《when》标签没有可以执行的,则会执行《otherwise》