我正在使用Spring Data Mongo
及其Criteria
操作。在这种情况下,我写了下面的标准条件,效果很好。但是以某种方式,如果firstName为空白或为空,则需要为其他字段设置""
。如果我未指定""
,则它将采用null
值,这将导致不同的结果。
有什么办法可以有效地修改以下条件?
Criteria criteria = new Criteria();
criteria.andOperator(
StringUtils.isNotBlank(firstName) ? Criteria.where("firstName").is(firstName.toUpperCase()) : Criteria.where(""),
StringUtils.isNotBlank(middleName) ? Criteria.where("middleName").is(middleName.toUpperCase()): Criteria.where(""),
StringUtils.isNotBlank(lastName) ? Criteria.where("lastName").is(lastName) : Criteria.where(""),
StringUtils.isNotBlank(emailId) ? Criteria.where("departments.emailId").is(emailId) : Criteria.where(""),
StringUtils.isNotBlank(isActive)? Criteria.where("departments.defaultSw").is(isActive.toUpperCase()) : Criteria.where(""),
StringUtils.isNotBlank(codeStyle) ? Criteria.where("departments.codeStyle").is(codeStyle): Criteria.where(""));