Spring Data JPA 查询规范

Spring Data JPA 查询规范

按照 Spring Data 的规范,查询方法以 findBy | readBy | getBy 开头

//例如:定义一个 Entity 实体类
class User{ 
    private String firstName; 
    private String lastName; 
} 

//使用And条件连接时,应这样写: 
findByLastNameAndFirstName(String lastName,String firstName); 
//条件的属性名称与个数要与参数的位置与个数一一对应 
  •  

直接在接口中定义查询方法,如果是符合规范的,可以不用写实现,目前支持的关键字写法如下:

关键字简单示例JPQL片段示例
ANDfindByLastNameAndFirstNameWHERE Entity.lastName = ?1 AND Entity.firstName = ?2
ORreadByLastNameOrFirstNameWHERE Entity.lastName = ?1 OR Entity.firstName = ?2
BetweengetByStartDateBetweenWHERE Entity.startDate BETWEEN ?1 AND ?2
LessThanfindByAgeLessThanWHERE Entity.age < ?1
GreaterThanreadByAgeGreaterThanWHERE Entity.age > ?1
After只作用在时间findByStartDateAfterWHERE Entity.startDate > ?1
Before只作用在时间findByStartDateBeforeWHERE Entity.startDate < ?1
LessThanEqualfindByAgeLessThenEqualWHERE Entity.age <= ?1
GreaterThanEqualreadByAgeGreaterThenEqualWHERE Entity.age >= ?1
IsfindByLastNameIsWHERE Entity.lastName = ?1
EqualgetByFirstNameEqualWHERE Entity.firstName = ?1
IsNullfindByAddressIsNullWHERE Entity.address is NULL
IsNotNullreadByAddressIsNotNullWHERE Entity.address NOT NULL
NotNullreadByAddressNotNullWHERE Entity.address NOT NULL
LikefindByNameLikeWHERE Entity.name LIKE ? 不包括'%'符号
Not LikefindByNameNotLikeWHERE Entity.name not like ?1 不包括'%'符号
StartingWithreadByNameStartingWithWHERE Entity.name like ‘?1%’条件以'%'符号结尾
EndingWithreadByName EndingWithWHERE Entity.name like ‘%?1’条件以'%'符号开头
ContaininggetByNameContainingWHERE Entity.name like ‘%?1%’ 包含'%'符号
OrderByfindByAgeOrderByAddressDescWHERE Entity.age = ? Order By Entity.address DESC
NotreadByAgeNotWHERE Entity.age <> ?1 不等于
InfindByNameIn(Collection name)WHERE Entity.name IN (?1 ,?2, ?3)
NotIngetByNameNotIn(Collection name)WHERE Entity.name NOT IN (?1 ,?2, ?3)
TruereadByFloagTrue()WHERE Entity.floag = true
FalsereadByFloagFalse()WHERE Entity.floag = false
IgnoreCasefindByNameIgnoreCaseWHERE UPPER(Entity.Name) = UPPER(?1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加班狂魔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值