1

背景

项目使用mybatis-plus,需要遍历一格数组,用or关联起来,但是数组外跟其他条件是and,类似

select 1 from t where  a = 1 and (b like '%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));
        }
    }
});

noname
314 声望49 粉丝

一只菜狗