「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战」
方法命名规则查询
自定义查询概述
Spring Data JPA可以根据接口方法名来实现数据库操作,主要的语法是findXXBy、readAXXBy、queryXXBy、countXXBy、getXXBy后面跟属性名称,利用这个功能仅需要在定义的Repository中添加对应的方法名即可,使用时Spring Boot会自动帮我们实现。
顾名思义,方法命名规则查询就是根据方法的名字,就能创建查询。只需要按照Spring Data JPA提供的方法命名规则定义方法的名称,就可以完成查询工作。Spring Data JPA在程序执行的时候会根据方法名称进行解析,并自动生成查询语句进行查询
按照Spring Data JPA 定义的规则,查询方法以findBy开头,涉及条件查询时,条件的属性用条件关键字连接,要注意的是:条件属性首字母需大写。框架在进行方法名解析时,会先把方法名多余的前缀截取掉,然后对剩下部分进行解析。
具体的关键字,使用方法和生产成SQL如下表所示
常用规则关键字 | |
---|---|
And | 并且 |
Or | 或 |
Is,Equals | 等于 |
Between | 两者之间 |
LessThan | 小于 |
LessThanEqual | 小于等于 |
GreaterThan | 大于 |
GreaterThanEqual | 大于等于 |
After | 之后(时间) > |
Before | 之前(时间) < |
IsNull | 等于Null |
IsNotNull,NotNull | 不等于Null |
Like | 模糊查询。查询件中需要自己加 % |
NotLike | 不在模糊范围内。查询件中需要自己加 % |
StartingWith | 以某开头 |
EndingWith | 以某结束 |
Containing | 包含某 |
OrderBy | 排序 |
Not | 不等于 |
In | 某范围内 |
NotIn | 某范围外 |
True | 真 |
False | 假 |
IgnoreCase | 忽略大小写 |
代码示例:
- 根据客户名称查询客户
Customer findByCustName(String custName);
也可以加一些关键字And、Or、Like
- 根据客户名称或者id查询客户
Customer findByCustNameOrCustId(String custName);
- 根据客户名称模式查询客户
Customer findBCustNameLike(String custName);
修改、删除等也是类似语法:
- 通过客户名称删除客户
Customer deleteByCustName(String custName);
OK!明天继续加油!