Java 如何在LDAP查询中使用like运算符?
我希望在LDAP查询中使用like运算符,并查找以字符串名称开头的任何名称。类似于[Name=Mike*]的东西,但显然不起作用。 任何帮助都将不胜感激Java 如何在LDAP查询中使用like运算符?,java,ldap,Java,Ldap,我希望在LDAP查询中使用like运算符,并查找以字符串名称开头的任何名称。类似于[Name=Mike*]的东西,但显然不起作用。 任何帮助都将不胜感激 public List<String> findByName(String Name) { LdapQuery query = query().where("objectclass").is("top") .and("Name").like(Name); return ldapTemplat
public List<String> findByName(String Name) {
LdapQuery query = query().where("objectclass").is("top")
.and("Name").like(Name);
return ldapTemplate.search(query, new NameAttributesMapper());
}
尝试在名称后添加通配符:
public List<String> findByName(String Name) {
LdapQuery query = query().where("objectclass").is("top")
.and("Name").like(Name + "*");
return ldapTemplate.search(query, new NameAttributesMapper());
}
public List<String> findByName(String Name) {
LdapQuery query = query().where("objectclass").is("top")
.and("Name").like(Name + "*");
return ldapTemplate.search(query, new NameAttributesMapper());
}
和的文档说明您必须在查询中显式使用*,因此如果您要查找以Mike开头的用户,则必须在筛选器语法中使用Mike*;它只是一种简写,允许您指定通配符而无需转义
因此: