Spring Data的Repositories----存储库查询关键字

【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…ByExists投影,通常返回布尔结果。
count…By计数投影返回数字结果。
delete…By, remove…By删除查询方法返回无结果(void)或删除计数。
…First< number>…, …Top< number>…将查询结果限制为头< number>个结果。这个关键字可以出现在主题的find(和其他关键字)和by之间的任何位置。
…Distinct…使用不同的查询只返回唯一的结果。是否支持该功能,请参阅特定存储的文档。该关键字可以出现在主题的find(和其他关键字)和by之间的任何位置。

二、支持的查询方法谓词(predicate)关键字和修饰符

下表列出了Spring Data存储库查询派生机制通常支持的谓词关键字。但是,有关支持的关键字的确切列表,请参阅特定存储的文档,因为此处列出的某些关键字在特定存储中可能不受支持。
表2:查询谓词关键字

Logical keywordKeyword expressions
ANDAnd
OROr
AFTERAfter, IsAfter
BEFOREBefore, IsBefore
CONTAININGContaining, IsContaining, Contains
BETWEENBetween, IsBetween
ENDING_WITHEndingWith, IsEndingWith, EndsWith
EXISTSExists
FALSEFalse, IsFalse
GREATER_THANGreaterThan, IsGreaterThan
GREATER_THAN_EQUALSGreaterThanEqual, IsGreaterThanEqual
INIn, IsIn
ISIs, Equals, (or no keyword)
IS_EMPTYIsEmpty, Empty
IS_NOT_EMPTYIsNotEmpty, NotEmpty
IS_NOT_NULLNotNull, IsNotNull
IS_NULLNull, IsNull
LESS_THANLessThan, IsLessThan
LESS_THAN_EQUALLessThanEqual, IsLessThanEqual
LIKELike, IsLike
NEARNear, IsNear
NOTNot, IsNot
NOT_INNotIn, IsNotIn
NOT_LIKENotLike, IsNotLike
REGEXRegex, MatchesRegex, Matches
STARTING_WITHStartingWith, IsStartingWith, StartsWith
TRUETrue, IsTrue
WITHINWithin, IsWithin

除了过滤器谓词之外,还支持以下修饰符列表:
表3:查询谓词修饰词关键字

Keyword描述
IgnoreCase, IgnoringCase与谓词关键字一起用于不区分大小写的比较。
AllIgnoreCase, AllIgnoringCase忽略所有合适属性的大小写。在查询方法谓词中使用。
OrderBy…指定一个静态排序顺序,后面跟着属性路径和方向(例如OrderByFirstnameAscLastnameDesc)。
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值