我是靠谱客的博主 独特台灯,最近开发中收集的这篇文章主要介绍Mybatis-Plus的 QueryWrapper中 AND 和OR条件运算逻辑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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条件运算逻辑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部