[Mybatis-Plus]QueryWrapper中AND和OR条件运算逻辑SQL得逻辑
SQL中 OR条件左右只要有⼀个成⽴,就可以返回true结果,所以在和and使⽤得时候,OR必须要加上括号来使⽤。
SELECT * FROM actor WHERE  actor_id > 10 AND  (first_name LIKE '%A%' OR last_name LIKE '%A%');
SELECT * FROM actor WHERE  actor_id > 10 AND  first_name LIKE '%A%' OR last_name LIKE '%A%';
也因此在Mybatis-Plus 中QueryWrapper组装中,也要注意这种情况。
queryWrapper.and(Wrapper -> Wrapper.like("first_name", "mama").or().like("last_name ","mama"));
queryselectorall用法("actor_id",10);
// 等同于  WHERE  actor_id > 10 AND  (first_name LIKE '%A%' OR last_name LIKE '%A%');
queryWrapper.like("first_name", "mama").or().like("last_name ","mama");
<("actor_id",10);
// 等同于  WHERE  actor_id > 10 AND first_name LIKE '%A%' OR last_name LIKE '%A%';  这种写法是错误得

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。