Bootstrap

122、java的LambdaQueryWapper的条件拼接实现数据sql中and (column1 =1 or column1 is null)

LambdaQueryWrapper是Mybatis-Plus中的一个工具类,用于构造SQL查询条件。如果你想要实现类似于AND (column1 = 1 OR column1 IS NULL)这样的条件拼接,可以使用LambdaQueryWrapper的and方法结合or方法来实现。

以下是一个使用LambdaQueryWrapper拼接条件的例子:

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

 

public class Example {

    public static void main(String[] args) {

        LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();

        queryWrapper.and(i -> i.eq(Entity::getColumn1, 1).or().isNull(Entity::getColumn1));

        // 假设有一个Mybatis-Plus的Mapper

        List<Entity> result = mapper.selectList(queryWrapper);

    }

}

 

class Entity {

    private Integer column1;

    // 省略其他字段和getter/setter方法

}

在这个例子中,我们创建了一个LambdaQueryWrapper实例,并使用and方法传入一个lambda表达式,该表达式内部使用eq方法表示等于条件和or方法表示IS NULL条件,这两者使用OR连接,最终构成了AND (column1 = 1 OR column1 IS NULL)的条件。

;