在MyBatis Plus中,可以使用LambdaQueryWrapper来构建查询条件,并使用between方法来指定范围查询。如果某个条件为空,可以使用StringUtils的isNotBlank方法来判断,如果不为空,则添加查询条件,如果为空,则不添加该查询条件。

以下是一个示例代码:

String startTime = "2021-01-01";
String endTime = "2021-12-31";

LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
    queryWrapper.between(User::getCreateTime, startTime, endTime);
}

List<User> userList = userMapper.selectList(queryWrapper);

在上述示例中,首先定义了一个LambdaQueryWrapper对象queryWrapper。然后使用StringUtils.isNotBlank方法判断startTime和endTime是否为空,如果都不为空,则调用between方法添加查询条件。最后使用selectList方法执行查询。

注意:在使用之前,需要导入StringUtils类,可以使用Apache Commons Lang等工具类库提供的StringUtils类,也可以自己实现一个类似的方法来判断字符串是否为空。

另外,如果between查询的字段类型不是字符串类型,需要根据实际情况进行类型转换

mybatisplus lambdaQuery between 为空时不查询

原文地址: https://www.cveoy.top/t/topic/hPtJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录