关于java:小知识QueryWrapper循环or条件

背景

我的项目应用mybatis-plus,须要遍历一格数组,用or关联起来,然而数组外跟其余条件是and,相似

select 1 from t where  a = 1 and (b = 2 or b = 3 or b = 4)

解法

queryWrapper.and(qw -> {
    for (int i = 0; i < values.length; i++) {
        String val = values[i];
        if (i == 0) {
            qw.nested(w -> w.likeRight("b", val));
        } else {
            qw.or(w -> w.likeRight("b", val));
        }
    }
});

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理