此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data LDAP 3.4.0spring-doc.cadn.net.cn

查询方法

通常在存储库上触发的大多数数据访问作都会导致对 LDAP 目录运行查询。 定义此类查询就是在存储库接口上声明方法,如下例所示:spring-doc.cadn.net.cn

PersonRepository 与查询方法
interface PersonRepository extends PagingAndSortingRepository<Person, String> {

    List<Person> findByLastname(String lastname);                            (1)

    List<Person> findByLastnameFirstname(String lastname, String firstname); (2)
}
1 该方法显示具有给定lastname. 查询是通过解析可与AndOr. 因此,方法名称会生成(&(objectclass=person)(lastname=lastname)).
2 该方法显示具有给定lastnamefirstname. 查询是通过解析方法名称派生的。 因此,方法名称会生成(&(objectclass=person)(lastname=lastname)(firstname=firstname)).

下表提供了可用于查询方法的关键字示例:spring-doc.cadn.net.cn

表 1.查询方法支持的关键字
关键词 样本 逻辑结果

LessThanEqualspring-doc.cadn.net.cn

findByAgeLessThanEqual(int age)spring-doc.cadn.net.cn

(attribute⇐age)spring-doc.cadn.net.cn

GreaterThanEqualspring-doc.cadn.net.cn

findByAgeGreaterThanEqual(int age)spring-doc.cadn.net.cn

(attribute>=age)spring-doc.cadn.net.cn

IsNotNull,NotNullspring-doc.cadn.net.cn

findByFirstnameNotNull()spring-doc.cadn.net.cn

(firstname=*)spring-doc.cadn.net.cn

IsNull,Nullspring-doc.cadn.net.cn

findByFirstnameNull()spring-doc.cadn.net.cn

(!(firstname=*))spring-doc.cadn.net.cn

Likespring-doc.cadn.net.cn

findByFirstnameLike(String name)spring-doc.cadn.net.cn

(firstname=name)spring-doc.cadn.net.cn

NotLike,IsNotLikespring-doc.cadn.net.cn

findByFirstnameNotLike(String name)spring-doc.cadn.net.cn

(!(firstname=name*))spring-doc.cadn.net.cn

StartingWithspring-doc.cadn.net.cn

findByStartingWith(String name)spring-doc.cadn.net.cn

(firstname=name*)spring-doc.cadn.net.cn

EndingWithspring-doc.cadn.net.cn

findByFirstnameLike(String name)spring-doc.cadn.net.cn

(firstname=*name)spring-doc.cadn.net.cn

Containingspring-doc.cadn.net.cn

findByFirstnameLike(String name)spring-doc.cadn.net.cn

(firstname=*name*)spring-doc.cadn.net.cn

(No keyword)spring-doc.cadn.net.cn

findByFirstname(String name)spring-doc.cadn.net.cn

(Firstname=name)spring-doc.cadn.net.cn

Notspring-doc.cadn.net.cn

findByFirstnameNot(String name)spring-doc.cadn.net.cn

(!(Firstname=name))spring-doc.cadn.net.cn