【Spring连载】使用Spring Data的Repositories----存储库查询关键字
一、支持的查询方法主题关键字
下表列出了Spring Data存储库查询派生机制通常支持的主题(subject)关键字,以表达谓词(predicate)。有关支持的关键字的确切列表,请参阅特定存储的文档,因为此处列出的某些关键字在特定存储中可能不受支持。
表1:查询主题关键字
| Keyword | 描述 |
|---|---|
| find…By, read…By, get…By, query…By, search…By, stream…By | 常规查询方法,通常返回存储库类型、Collection或Streamable子类型或结果包装器,如Page、GeoResults或任何其他特定存储的结果包装器。可以用作findBy…、findMyDomainTypeBy…或与其他关键字组合使用。 |
| exists…By | Exists投影,通常返回布尔结果。 |
| count…By | 计数投影返回数字结果。 |
| delete…By, remove…By | 删除查询方法返回无结果(void)或删除计数。 |
| …First< number>…, …Top< number>… | 将查询结果限制为头< number>个结果。这个关键字可以出现在主题的find(和其他关键字)和by之间的任何位置。 |
| …Distinct… | 使用不同的查询只返回唯一的结果。是否支持该功能,请参阅特定存储的文档。该关键字可以出现在主题的find(和其他关键字)和by之间的任何位置。 |
二、支持的查询方法谓词(predicate)关键字和修饰符
下表列出了Spring Data存储库查询派生机制通常支持的谓词关键字。但是,有关支持的关键字的确切列表,请参阅特定存储的文档,因为此处列出的某些关键字在特定存储中可能不受支持。
表2:查询谓词关键字
| Logical keyword | Keyword expressions |
|---|---|
| AND | And |
| OR | Or |
| AFTER | After, IsAfter |
| BEFORE | Before, IsBefore |
| CONTAINING | Containing, IsContaining, Contains |
| BETWEEN | Between, IsBetween |
| ENDING_WITH | EndingWith, IsEndingWith, EndsWith |
| EXISTS | Exists |
| FALSE | False, IsFalse |
| GREATER_THAN | GreaterThan, IsGreaterThan |
| GREATER_THAN_EQUALS | GreaterThanEqual, IsGreaterThanEqual |
| IN | In, IsIn |
| IS | Is, Equals, (or no keyword) |
| IS_EMPTY | IsEmpty, Empty |
| IS_NOT_EMPTY | IsNotEmpty, NotEmpty |
| IS_NOT_NULL | NotNull, IsNotNull |
| IS_NULL | Null, IsNull |
| LESS_THAN | LessThan, IsLessThan |
| LESS_THAN_EQUAL | LessThanEqual, IsLessThanEqual |
| LIKE | Like, IsLike |
| NEAR | Near, IsNear |
| NOT | Not, IsNot |
| NOT_IN | NotIn, IsNotIn |
| NOT_LIKE | NotLike, IsNotLike |
| REGEX | Regex, MatchesRegex, Matches |
| STARTING_WITH | StartingWith, IsStartingWith, StartsWith |
| TRUE | True, IsTrue |
| WITHIN | Within, IsWithin |
除了过滤器谓词之外,还支持以下修饰符列表:
表3:查询谓词修饰词关键字
| Keyword | 描述 |
|---|---|
| IgnoreCase, IgnoringCase | 与谓词关键字一起用于不区分大小写的比较。 |
| AllIgnoreCase, AllIgnoringCase | 忽略所有合适属性的大小写。在查询方法谓词中使用。 |
| OrderBy… | 指定一个静态排序顺序,后面跟着属性路径和方向(例如OrderByFirstnameAscLastnameDesc)。 |
234

被折叠的 条评论
为什么被折叠?



