概述
SQL中 OR条件左右只要有一个成立,就可以返回true结果,所以在和and使用得时候 ,OR必须要加上括号来使用。
queryWrapper.and(Wrapper -> Wrapper.like("first_name", "nana").or().like("last_name ","nana"));
queryWrapper.ge("actor_id",10);
// 等同于 WHERE actor_id > 10 AND (first_name LIKE '%A%' OR last_name LIKE '%A%');
queryWrapper.like("first_name", "nana").or().like("last_name ","nana");
queryWrapper.ge("actor_id",10);
// 等同于 WHERE actor_id > 10 AND first_name LIKE '%A%' OR last_name LIKE '%A%'; 这种写法是错误得
if (StringUtils.isNotBlank(vo.getTitle())) {
//queryWrapper.like("mt.title", vo.getTitle()).or().like("mt.message", vo.getTitle()); 错误拼接
queryWrapper.and(Wrapper -> Wrapper.like("mt.title", vo.getTitle()).or().like("mt.message", vo.getTitle()));
}
SELECT COUNT(1) FROM message AS m LEFT JOIN message_text AS mt ON m.message_id = mt.id LEFT JOIN (SELECT count(1) AS un_read_count, rec_id FROM message WHERE status = 0 GROUP BY rec_id) AS m1 ON m.rec_id = m1.rec_id WHERE (m.rec_id = ? AND relevance_message_type IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) AND mt.update_time <= ? AND mt.update_time >= ? AND
(mt.title LIKE ? OR mt.message LIKE ?)
AND m.deleted = ?)
最后
以上就是独特台灯为你收集整理的Mybatis-Plus的 QueryWrapper中 AND 和OR条件运算逻辑的全部内容,希望文章能够帮你解决Mybatis-Plus的 QueryWrapper中 AND 和OR条件运算逻辑所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复