列表接口,通常会有多个条件组合查询的业务场景。
映射至mapper.xml中就需要写where 1 = 1
来拼接否则就会发生 select * from table where and
column = 'value'的语法错误
如今的IDEA中,如果你设置了SQL方言,就会警告你where 1 = 1 始终为true
建议使用<where></where>
标签来处理这种情况,此标签会只会在它包含的标签中有返回值的情况下才插入 where
子句。并且若子句的开头为 and
或 or
,where
标签也会将它们去除
以上为实测截图,从右侧控制台执行的SQL语句中,可以发现