Java 如何在LDAP查询中使用like运算符?

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

我希望在LDAP查询中使用like运算符,并查找以字符串名称开头的任何名称。类似于[Name=Mike*]的东西,但显然不起作用。 任何帮助都将不胜感激

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*;它只是一种简写,允许您指定通配符而无需转义

因此: