MyBatis Plus LambdaQueryWrapper between 查询为空时如何跳过
在MyBatis Plus中,可以使用LambdaQueryWrapper来构建查询条件,并使用between方法来指定范围查询。如果某个条件为空,可以使用StringUtils的isNotBlank方法来判断,如果不为空,则添加查询条件,如果为空,则不添加该查询条件。\n\n以下是一个示例代码:\n\njava\nString startTime = "2021-01-01";\nString endTime = "2021-12-31";\n\nLambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();\nif (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {\n queryWrapper.between(User::getCreateTime, startTime, endTime);\n}\n\nList<User> userList = userMapper.selectList(queryWrapper);\n\n\n在上述示例中,首先定义了一个LambdaQueryWrapper对象queryWrapper。然后使用StringUtils.isNotBlank方法判断startTime和endTime是否为空,如果都不为空,则调用between方法添加查询条件。最后使用selectList方法执行查询。\n\n注意:在使用之前,需要导入StringUtils类,可以使用Apache Commons Lang等工具类库提供的StringUtils类,也可以自己实现一个类似的方法来判断字符串是否为空。\n\n另外,如果between查询的字段类型不是字符串类型,需要根据实际情况进行类型转换。
原文地址: https://www.cveoy.top/t/topic/pyBm 著作权归作者所有。请勿转载和采集!